Largest prime factor(筛选法)

来源:互联网 发布:怎么设置网络防火墙 编辑:程序博客网 时间:2024/04/30 16:45

题目出处:

http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=5


#include<iostream>using namespace std;int a[1000000];int main(){    int k=1;//k初始化为1,位置        memset(a,0,sizeof(a));    /*筛选位置*/      for(int i=2;i<1000000;i++)//要到N,而不是sqrt(N)    {        if(!a[i])        {          a[i]=k;//素数i的位置               for(int j=i+i;j<1000000;j+=i)                a[j]=k;    //构造出j的暂时最大素数因子的位置             k++;        }    }    int n;    while(~scanf("%d",&n))    {        printf("%d\n",a[n]);    }    return 0;}



原创粉丝点击