HDU 2136 Largest prime factor
来源:互联网 发布:指静脉算法 编辑:程序博客网 时间:2024/05/16 21:29
题目:
给一组正整数,对其中的每一个数,求出它的最大素因子是第几个素数。
链接:http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=5
思路:
1.把素数排名作为数组的值。
2.初始时所有LPF[i]=0。 (倍数关系的两数 最大的质因数相同- -~!)
2的倍数的LPF 赋为1。
3的倍数的LPF 赋为2。
5的倍数的LPF 赋为3。
7的倍数的LPF 赋为4.......
3.话说 在HDU OJ上原来写while(cin>>a)Time Limit Exceeded 。
改成while(scanf)就过了。 - -~!
原因:cin对象的>>运算符返回的是NULL 当然可以不满足while的条件跳出
如#difine EOF -1 是不能跳出while的...
#include <cstdio>#define N 1000001unsigned prime[N];int main(){ int count = 0;//memset(prime,0,sizeof(prime));for (unsigned i=2; i<N; ++i){if (!prime[i]) //当I为素数时{++count;for (unsigned j=1; i*j<N; j++) //i的倍数LPF与i相同{prime[i*j] = count;}}}unsigned num;while(scanf("%u",&num) != EOF)printf("%u\n",prime[num]);return 0;}PS:仔细审题
0 0
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- hdu 2136 Largest prime factor
- HDU 2136 Largest prime factor
- hdu 2136 Largest prime factor
- hdu 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- hdu 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- hdu 2136 Largest prime factor
- hdu 2136 Largest prime factor
- hdu 2136 Largest prime factor
- Linux C 多线程【2】--线程的分离状态
- Android Service和activity实现数据共享
- EOJ 1852 Solution Report --Ordered Fractions
- ubuntu关于aptitude和apt-get
- ubuntu12.04搭建android开发环境
- HDU 2136 Largest prime factor
- Nginx配置文件nginx.conf中文详解
- 关于mysql 1067的错误
- asp.net JS+form表单Post和Get方式提交数据
- 国际日期书写标准格式
- 视频图像编解码技术:JPEG编解码文件结构分析
- 网站定义
- 单点登录SSO
- 程序员的工具列表