题解 | #质因数的个数#

质因数的个数

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")

全部评论

相关推荐

03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
大猪蹄子哥:1-谁教你这么写教育经历的……咱都这个学历了,很多公司要看本科、硕士,Gap Year的,你啪就给一个上大26届硕士,没了。 2-那堆奖学金揉成一行放最后得了,放前面显得你没技术自信,还是那句话,对于咱这个学历直接上重点,你这上半段看起来像个大专(无恶意 3-专业技能最好点出来细化方向,你熟悉的以太网是UDP还是TCP,是千兆还是万兆等等,多种信号处理……那你倒是说两个啊,后面空着干嘛,会的干嘛不讲 4-项目经历废话太多,描述不专业(怎么还有我,我们这种词),没有数据支撑(是婴儿还是巨人看不出来)。最后如果这些是真的XX项目、比赛,最好点出来,不然更显得像自学着玩的,或者说抄的(经典复现等于我做过 5-个人总结在咱这个分段没用
点赞 评论 收藏
分享
好兄弟们,不愁找不到工作了,东哥还有10万骑手HC待发&nbsp;还有五险一金,话不多说我要去投递了
婉拒腾讯保洁岗:都让让,鄙人骑电动车贼溜,ssp骑手offer应该有我一份吧?在坐的谁赞同,谁反对?查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务