质因数的个数

题目链接:https://www.nowcoder.com/practice/20426b85f7fc4ba8b0844cc04807fbd9?tpId=40&tqId=21338&tPage=1&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking

题目描述

求正整数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 }

 

posted @ 2017-12-19 21:02  wydxry  阅读(281)  评论(0编辑  收藏  举报
Live2D