题解 | #质因数的个数#

质因数的个数

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

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

bool zhishu(int x) { //质数:只能被1和自身整除
    for (int i = 2; i<=sqrt(x); i++) {
        if (x % i == 0) return false;
    }
    if(x!=1) return true;
    else return false;
}

int main() {
    int n;
    while (cin >> n) {
        vector<int> num;//存储n的所有质因数
        for (int i = 2; i<=sqrt(n); i++) {
            if (n % i == 0) {//是因数
                if(zhishu(i))//是质数
                num.push_back(i);
                if(zhishu(n/i))
                num.push_back(n / i);
            }
        }
        // for(int a:num) cout<<a<<" ";
        // cout<<endl;
        int res=0;
        for(int i=0;i<num.size();i++){
            while(n%num[i]==0){
                n/=num[i];
                res++;
            }
        }
        cout<<res<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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