题解 | #质因数的个数#

质因数的个数

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

#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>

using namespace std;

//#define MAXN sqrt(1e9)+1;
const int MAXN=10001;

vector<int> prime;
bool isPrime[MAXN];

void Initial(){
    for(int i=0;i<MAXN;i++){
        isPrime[i]= true;
    }
    isPrime[0]=false;
    isPrime[1]= false;
    for(int i=2;i<MAXN;i++){
        if(!isPrime[i]){
            continue;
        }
        prime.push_back(i);
        for(int j=i*i;j<MAXN;j+=i){
            isPrime[j]=false;
        }
    }
}

int main() {
    Initial();
    int n;
    while (cin>>n){
        int count=0;
        for(int i=0;i<prime.size()&&n>prime[i];i++){
            while(n%prime[i]==0){
                count++;
                n=n/prime[i];
            }
        }
        if(n>1){
            count++;
        }
        cout<<count<<endl;
    }
    return 0;
}



考研复试机试 文章被收录于专栏

考研复试机试

全部评论

相关推荐

09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
10-30 16:31
重庆大学 Java
代码飞升:你说你善于学习,大家都会说。你说你是985,985会替你表达一切
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务