质因数的个数
题目描述
求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
输入描述:
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。
输出描述:
对于每组数据,输出N的质因数的个数。
示例1
输入
120
输出
5
1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 using namespace std; 5 int main() 6 { 7 int n; 8 while(cin>>n){ 9 int sum=0; 10 for(int i=2;i<=sqrt(n);i++){ 11 while(n%i==0){ 12 sum++; 13 n/=i; 14 } 15 } 16 if(n>1) cout<<sum+1<<endl; 17 else cout<<sum<<endl; 18 } 19 return 0; 20 }