题解 | #质因数的个数#

质因数的个数

https://www.nowcoder.com/practice/20426b85f7fc4ba8b0844cc04807fbd9

#include <cmath>
#include <iostream>
using namespace std;
const int maxn=100001;
bool j[maxn];
int zhifactor(int n){
    int r=0;
    int i=2;
    while(n>1){
        int f=1;
        for(int i=2;i*i<=n;i++){
            if(j[i]&&(n%i==0)){
                r++;
                n/=i;
                f=0;
            }
        }
        if(f==1) {
            r++;
            break;
        }
    }
    return r;
}
int main() {
    for(int i=2;i<maxn;i++) j[i]=true;
    j[0]=false;
    j[1]=false;
    for(int i=2;i<maxn;i++){
        if(j[i]){
            for(int k=i;k*i<maxn;k++){
                j[k*i]=false;
            }
        }
    }
    int n;
    while(cin>>n){
        cout<<zhifactor(n)<<endl;

    }
}

全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务