文章
145
粉丝
217
获赞
21
访问
85.1k
#include <stdio.h>
#include <math.h>
int isPrimary(int n)
{
int i;
for(i = 2; i <= sqrt(n); i++)
if(n % i == 0) break;
if(i > sqrt(n)) return 1;
else return 0;
}
int Prime_Factor(int n)
{
int i = 2,count = 0;
if(isPrimary(n)) return 1;//本身就是质数,单独处理
while(n != 1)
{
if(n % i == 0 && isPrimary(i))
{
count++;
n/=i;
}
else i++;
}
return count;
}
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
printf("%d\n",Prime_Factor(n));
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发