ZOJ-More Divisors
来源:互联网 发布:湖州淘宝拍摄 编辑:程序博客网 时间:2024/05/21 17:07
题目:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2562题意:
求小于等于n的约数最多的数。就是求反素数。思路:
枚举小质因子搜索找反素数。
反素数约数必然是res=2^a+3^b+5^c+7^d……;
枚举质因子个数,约数个数就是所有质因子的组合。
代码:
#define N 112long long n,m;long long flag,sum,ave,ans,res,len,ans1,ans2;bool mark[N];int pri[N],cnt;void SP(){ cnt=0; memset(mark,true,sizeof(mark)); mark[0]=mark[1]=false; for(int i=2;i<=N;i++) if(mark[i]) { pri[cnt++] = i; for(int j=2;j*i<N;j++) mark[j*i]=false; }}void solve(long long now,long long num,long long k){ if(num>sum)sum=num,res=now; if(num==sum&&res>now)sum=num,res=now; if(k>20)return; for(int i=1;i<50;i++) { if(now*pri[k]<=n) now*=pri[k]; else break; solve(now,num*(i+1),k+1); }}int main(){ int i,j,k,kk,t,x,y,z; while(scanf("%lld",&n)!=EOF&&n) { sum=0;res=n; solve(1,1,0); printf("%lld\n",res); } return 0;}
0 0
- zoj 2562 More Divisors
- Zoj 2562 More Divisors
- zoj 2562 More Divisors
- zoj 2562 More Divisors
- ZOJ-More Divisors
- 【ZOJ 2562】 More Divisors
- More Divisors ZOJ
- More Divisors ZOJ
- zoj 2562 More Divisors(反素数)
- Zoj 2562 More Divisors (反素数)
- zoj 2562 More Divisors(反素数)
- ZOJ 2562 More Divisors 反素数 DFS
- ZOJ More Divisors 2562 (反素数)
- ZOJ 2562 More Divisors 解题报告(反素数)
- ZOJ 2562 More Divisors(高合成数)
- ZOJ Problem Set - 2562 More Divisors 反素数
- More Divisors----反素数
- zoj2562 More Divisors
- HeadFirst 设计模式 12复合模式
- (C/C++学习笔记)指针做函数参数形成回调练习
- Java Web
- HeadFirst 设计模式 总
- jquery基础精华01
- ZOJ-More Divisors
- 解决ListView的 setEmptyView无效的问题
- SUSE Linux 国内源设置
- uva 1615 - Highway
- Android Sensor 架构深入剖析
- jquery基础精华02
- java中instanceof用法
- android强行隐藏自带的输入法
- VC++开发Activex控件以及签名发布