现在的位置: 首页 > 综合 > 正文

最大素因子

2018年04月21日 ⁄ 综合 ⁄ 共 399字 ⁄ 字号 评论关闭

刚开始是用晒素数 然后 在进行枚举 + 判断,结果T了3发。。开始思考。最后突然明白。把晒素数的方法改下就可以了。

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int const MAX = 1000010;
int s[MAX],prime[MAX];
void Judge(){
    memset(prime,0,sizeof(prime));
    s[1] = 0;
    int temp = 1;
    for(int i = 2;i < MAX;i++){
        if(!prime[i]){
            s[i] = temp;
            for(int j = i;j < MAX;j += i){
                prime[j] = 1;
                s[j] = temp;
            }
            temp++;
        }
    }
}
int main(){
    Judge();
    int n;
    while(~scanf("%d",&n)){
        printf("%d\n",s[n]);
    }
    return 0;
}

【上篇】
【下篇】

抱歉!评论已关闭.