当前位置: 代码迷 >> 综合 >> 清华大学--质因数个数
  详细解决方案

清华大学--质因数个数

热度:50   发布时间:2024-01-06 13:11:51.0

链接:https://www.nowcoder.com/questionTerminal/20426b85f7fc4ba8b0844cc04807fbd9
来源:牛客网

求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
输入描述:

可能有多组测试数据,每组测试数据的输入是一个正整数N,(1

#include<stdio.h>
#include<math.h>
int main(){int num,count,temp,i,flag=1,j;while(scanf("%d",&num)!=EOF){count =0;for(i=2;i<=num;i++){if(flag){for(j=2;j<=(int)sqrt(num);j++){if(num%j==0){i=j;break;}}}if(j>(int)sqrt(num)){count++;break;}if(num%i==0){count++;num=num/i;i=1;flag=1;}elseflag=0;}printf("%d\n",count);}return 0;
}