求正整数N(N>1)的质因数的个数。注意:1不是N的质因数:若N为质数,N是N的质因数。相同的质因数需要重复计算。
如120=2*2*2*3*5,共有5个质因数。
输入:
正整数N,1<N<109
输出:
N的质因数的个数
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j,t=0;
freopen("input.txt","r",stdin);
freopen("output.txt","w+",stdout);
while(scanf("%d",&n)!=EOF)
{
for(i=2;i<=n;)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(i==j&&n%i==0)
{
t++;
n=n/i;
i=2;
}
else
{
i++;
}
}
printf("%d\n",t);
t=0;
//
}
return 0;
}
本文介绍了一种用于计算正整数N (N>1)的质因数个数的算法实现。该算法通过逐个检查从2开始的每个可能的质数因子,并重复计算相同的质因数来确定总质因数数量。
156

被折叠的 条评论
为什么被折叠?



