HDU 2136 Largest prime factor
来源:互联网 发布:chemdraw mac 编辑:程序博客网 时间:2024/04/26 05:12
求一个数的最大质因子,一开始把素数筛出来,然后从大到小试,超时,其实在筛素数的时候可以把每个数的素因子确定下来,这样之后只要O(1)就可以了。注意筛素数时,不能到最大范围的平方根就结束,这样是找不出最大的来的。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int a[1000002];void prime(int n){ int i,j,cnt=1; for(i=2; i<=n; i++) { if(a[i]) continue; for(j=1; i*j<=n; j++) a[i*j]=cnt; cnt++; }}int main(void){ memset(a,0,sizeof(a)); prime(1000000); int n; while(scanf("%d",&n)!=EOF) { printf("%d\n",a[n]); } return 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
- 美好的时节,龌龊的现实
- LOVE WHAT I DO
- VC++程序从OpenCV2.1迁移到OpenCV2.2(vs2010+OpenCV2.2+windows7设置)
- vs2010新建项目窗口.点击没有反映.
- 地图放大镜(Magnifying Glass)
- HDU 2136 Largest prime factor
- 线程-----银行拨号
- Linux内核学习——路线图计划
- TinyXml心得
- OC门与OD门
- 事务与锁
- Linux内核学习——参考资料
- 编译Hadoop的append分支源码
- 把仙剑奇侠传5的音乐从pkg里请出来变成mp3吧