文章

7

粉丝

142

获赞

5

访问

5.6k

头像
质因数个数 题解:简短的解
P1156 清华大学上机题
发布于2024年3月12日 20:14
阅读数 993

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,cnt;
    while(cin>>n){
        cnt=0;
        for(int i=2;n>=i*i;){     #如果n还只含有2个质因数,那么一定大于等于i的平方,并且除i后一定小于i的平方。
            if(n%i==0){                  #这是因为每次循环n还含有的质因数都大于等于i,不写这个i的平方计算量会大幅增加,导致超时
                cnt++;
                n=n/i;
            }
            else i++;
        }
        cout<<cnt+1<<endl;
    }
}

 

 

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发