uva 294 ——Divisors

题意:给定一个区间[l,r],然后问在该区间内谁的因子最多!

思路:先大致分析一下,比如对于一个数12,那么可以拆分成2*2*3,就是对一个数分解质因数,然后你会发现在组成因子的时候,每个质因数可以选择一个,两个……一直到到该因子的指数次个,ok这就算完了,分解质因数然后依次相乘即可,等等有什么不对,都不选后者某个质因数不选也可以啊,比如因数是1,嗯对了,指数补上1然后相乘就可以了!

code:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

typedef long long ll;
const int N=35010;
int p[N],len=0,vis[N];

void tab()
{
memset(vis,0,sizeof(vis));
for (int i=2;i<N;i++)
{
if (vis[i]) continue;
p[len++]=i;
for (int j=i;j<N;j+=i)
vis[j]=1;
}
}

int cal(int n)
{
int s=1;
for (int i=0;i<len&&p[i]<=n;i++)
{
if (n%p[i]) continue;
int ct=1; //初始化为1,表示不选该质因子的情况
while (n%p[i]==0)
{
ct++;
n/=p[i];
}
s*=ct;
}
return s;
}

int main()
{
tab();
int T;
scanf("%d",&T);
while (T--)
{
int l,r;
scanf("%d %d",&l,&r);
int ma=0,ans;
for (int i=l;i<=r;i++)
{
int t=cal(i);
if (t>ma)
{
ma=t;
ans=i;
}
}
printf("Between %d and %d, %d has a maximum of %d divisors.\n",l,r,ans,ma);
}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

邮箱验证 ——ACM

邮箱验证POJ 注册的时候需要用户输入邮箱&#xff0c;验证邮箱的规则包括&#xff1a; 1)有且仅有一个符号 2)和.不能出现在字符串的首和尾 3)之后至少要有一个.&#xff0c;并且不能和.直接相连 满足以上3条的字符串为合法邮箱&#xff0c;否则不合法&#xff0c; 编写程…

uva 10140——Prime Distance

题意&#xff1a;题目出的很简单&#xff0c;给定一个数据范围&#xff08;好吧&#xff0c;又是给定一个范围&#xff09;&#xff0c;然后问你在这个给定的范围内&#xff0c;哪两个相邻素数挨的最近&#xff0c;哪两个最远。思路&#xff1a;这破题数据量很大&#xff0c;如…

Lowest Common Multiple Plus ——ACM

1. Lowest Common Multiple Plus求n个数的最小公倍数。Input 输入包含多个测试实例&#xff0c;每个测试实例的开始是一个正整数n&#xff0c;然后是n个正整数。为每组测试数据输出它们的最小公倍数&#xff0c;每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整…

文件操作(二) 其他总结

一、 文件操作 1、 获取文件属性 #include<sys/types.h> #include<sys/stat.h> #include<unistd.h>int stat(const char *filename, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *filename, struct stat *buf);部分常用…

【转】博弈知识汇总

有一种很有意思的游戏&#xff0c;就是有物体若干堆&#xff0c;可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干&#xff0c;规定最后取光物体者取胜。这是我国民间很古老的一个游戏&#xff0c;别看这游戏极其简单&#xff0c;却蕴含着深刻的数学原理。下面我们…

搞ACM的你伤不起(转)

笑喷了。。。。。。。。。劳资六年前开始搞ACM啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 从此踏上了尼玛不归路啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#x…

学计算机的你伤不起啊(转)

学计算机的你伤不起啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 老子六年前开始学计算机啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;于是踏上了尼玛不归路啊&#xff01;&#xff01;&#xff01;&#xff…

进程控制 (二) Others

1. 执行新程序 只列出几个常用的函数&#xff1a; #include <unistd.h> int execve(const char *path, char * const argv[], char * const envp[]);//envp[]为环境变量&#xff0c;可直接调用int execv(const char *path, char * const argv[]);//与execve&#xff08…

【转载】ACM中矩阵乘法的应用

copied from 大神s blog 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中&#xff0c;一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵&#xff0c;得到的结果是一个n行p列的矩阵&#xff0c;其中的第i行第j列位置上的数等于前一…

线程控制(一)

1. 线程执行顺序问题 #include <stdio.h> #include <string.h> #include <pthread.h> #include <stdlib.h> #include <unistd.h>void *thread1(void *); void *thread2(void *);pthread_key_t key;void *thread1(void *arg){int a 1, *tsd &a…

Codeforces Round #324 (Div. 2) B. Kolya and Tanya

思路&#xff1a;因为题目说只要存在组ai??ai??n??ai??2n?≠?6就令人满意&#xff0c;也就是不满意的情况就是所有ai??ai??n??ai??2n?都等于6那就用所有的情况减去不满意的情况&#xff0c;总结: 直接用二分幂不知道为什么wa的要死&#xff0c;看到别人的题…

拓扑排序的题目集合

【HDU】1285确定比赛名次2094产生冠军2647Reward3342Legal or Not1811Rank of Tetris 拓扑并查集3231 Box Relations 三维拓扑【POJ】1094 Sorting It All Out Floyd拓扑2367 Genealogical tree3660 Cow Contest3687 Labeling Balls 神奇的拓扑1128Frame Stacking DFS版拓扑…

edward_mj退役经验帖

考完试了&#xff0c;也是时候补上退役帖了。考虑了一阵要怎么写&#xff0c;鉴于本文的目的主要是希望给后来的校队成员或者想参加这个竞赛的同学一个借鉴&#xff0c;最后还是决定用Q&A的形式。打ACM/ICPC有什么好处我觉得确切而言应该问把时间花在这上面有什么好处。提升…

C++学习笔记(一)

本文主要内容为C下的输入输出函数以及for循环中的C11新特性。 一、输入输出函数 1. cin cin 遇到 空格、回车、Tab结束输入&#xff0c; 且会将读到的空格、回车、Tab 丢弃&#xff0c;例&#xff1a; #include<iostream> using namespace std;int main(void) {char a…

为了更好——关于博客搬迁的说明

一开始没准备在网易安家的&#xff0c;可是由于博客和邮箱都在此处&#xff0c;访问会更加方便&#xff08;所以就稀里糊涂在这里安了家&#xff09;&#xff0c;但是后来发现网易的博客对用户并不友好&#xff08;广告低栏的注册&#xff09;&#xff0c;寻寻觅觅找了很多博客…

C++学习笔记(二)

本文将主要介绍const关键字的使用。 首先&#xff0c;说一下const是什么&#xff1a; const修饰的数据类型是指常类型&#xff0c;常类型的变量或对象的值是不能被更新的。 然后&#xff0c;我们来看一下这四处声明&#xff1a; const int a 1; //code1 const int *p &am…

关于Github的那点事儿

今天突然发现无法从本地git push到远程仓库了&#xff08;然而事实是网有点卡&#xff0c;github官网没更新过来&#xff0c;然而……ssh-key已经删了….&#xff09;&#xff0c;所以又重新添加ssh-key。 ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub 将显示的内容粘贴到github…

C++学习笔记(三)

1. 引用变量 引用是已定义变量的别名&#xff0c;若使用int & x a;&#xff0c;即将x作为a的引用&#xff0c;其中的&不是地址运算符&#xff0c;而是类型标识符的一部分。事实上&#xff0c;x与a指向的是同一块内存空间&#xff0c;对x进行操作即对a进行操作。必须在…

Rabbits —— HDU-6227

题意&#xff1a; 有n只兔子在不同的位置&#xff0c;任意一只兔子可以跳到其余任两只兔子&#xff08;必须保证它们中间有空位&#xff09;中间&#xff0c;问最多可移动多少次&#xff1f; 思路&#xff1a; 可看作从任一侧的兔子向中间插空&#xff0c;因此可以将所有兔子…

uva 10570——Meeting with Aliens

题意&#xff1a;输入1-n的排列&#xff0c;每次可以交换两个整数。用最少的次数把排列变成1-n的环状序列。 思路&#xff1a;枚举贪心。依次枚举环上所有的点&#xff0c;正序一遍&#xff0c;倒序一遍&#xff0c;然后贪心求的所需的最小步数&#xff08;贪心策略是1与1号交换…