zoj 2562 More Divisors(反素数)
2015-07-12 11:26
253 查看
http://acm.zju.edu.cn/onlinejudge/showProblem.do?
problemId=1562
题意:求小于等于n(1 <= n <= 1016)的约数个数最多的数。
反素数
依据反素数的定义,这个题就是让求最大的反素数。
反素数搜索的根据的两个重要的性质:
反素数的质因子是从2開始的连续的素数。
p=2^t1*3^t2*5^t3*7^t4.....必定t1>=t2>=t3>=....
另外一个性质:对于p=2^t1*3^t2*5^t3*7^t4.....。p的因子的个数为(t1+1)*(t2+1)......*(tn+1)。
由于n最大是10^16,因此t最大能够为54,依据以上性质枚举每个素数以及每个素数的个数进行搜索。
problemId=1562
题意:求小于等于n(1 <= n <= 1016)的约数个数最多的数。
反素数
依据反素数的定义,这个题就是让求最大的反素数。
反素数搜索的根据的两个重要的性质:
反素数的质因子是从2開始的连续的素数。
p=2^t1*3^t2*5^t3*7^t4.....必定t1>=t2>=t3>=....
另外一个性质:对于p=2^t1*3^t2*5^t3*7^t4.....。p的因子的个数为(t1+1)*(t2+1)......*(tn+1)。
由于n最大是10^16,因此t最大能够为54,依据以上性质枚举每个素数以及每个素数的个数进行搜索。
#include <stdio.h> #include <iostream> #include <map> #include <set> #include <stack> #include <vector> #include <math.h> #include <string.h> #include <queue> #include <string> #include <stdlib.h> #include <algorithm> #define LL long long #define _LL __int64 #define eps 1e-12 #define PI acos(-1.0) using namespace std; LL n; int prime[20] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59}; LL Maxcur; //当前最大的反素数 int Maxcnt;//最大反素数相应的因子个数 void get_antiprime(LL cur, int cnt, int Maxnum, int k) { if(cur > n) return; if(cnt > Maxcnt) { Maxcnt = cnt; Maxcur = cur; } if(cnt == Maxcnt && cur < Maxcur) { Maxcur = cur; } LL tmp = cur; //枚举第K个素数的个数 for(int i = 1; i <= Maxnum; i++) { tmp *= prime[k]; if(tmp > n) return; get_antiprime(tmp,cnt*(i+1),i,k+1); } } int main() { while(~scanf("%lld",&n)) { Maxcur = 1; Maxcnt = 1; get_antiprime(1,1,54,0); printf("%lld\n",Maxcur); } return 0; }
相关文章推荐
- web sql
- 笔试题 百度2015大数据云计算研发笔试(非相邻数最大和)
- 利用chorme调试手机网页
- eclipse使用技巧总结
- 用360简单免费升级win10图文教程
- Java学习笔记04 俄罗斯方块的界面切换
- java实现串口配置之运行环境搭建
- 2015 Bestcoder 47# A
- hdu 5282 Senior's String 两次dp
- 最大公约数Greatest Common Divisor
- DOS命令集锦——让人见文知意
- tomcat的结构 以及处理请求的流程
- 【基础练习】【数论/模拟】codevs1670 无穷的序列题解
- string 扩展原型小技巧
- 黑马程序员——JAVA基础---基本数据类型
- NYOJ 55懒省事的小明
- [LeetCode][Java] Search in Rotated Sorted Array
- BZOJ 1006 [HNOI2008]神奇的国度
- Ubuntu 14.04静态ip设置
- Determining Views Supported by a Particular File System