求正整数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 ",t); t=0; // } return 0; }