题解 | #质因数的个数#

质因数的个数

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

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

bool isPrime(int a){
	int sqr=(int)sqrt(a*1.0);
	for(int j=2;j<=sqr;j++){
		if(a%j==0) return false;
	}
	return true;
}

int main(){
	int n;
	int num=0;
	while(scanf("%d",&n)!=EOF){
		for(int i=2;i<=n;i++){
			if(n%i==0){  		//判断i是否是因数 
				if(isPrime(i)){
					num++;
					n=n/i;
					while(n%i==0){  //判断i还是不是质因数,即求出有几个i
						num++; 
						n=n/i;
					}
				}
			}
		}
		printf("%d\n",num);
	}
	
	return 0;
}

全部评论

相关推荐

06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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