标签:5271 int 个数 sqrt 120 num TZOJ 质因数
求正整数N(N>1)的质因数的个数。
相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
输入
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。
输出
对于每组数据,输出N的质因数的个数。
样例输入
样例输出
提示
注意:1不是N的质因数;若N为质数,N是N的质因数。
题目来源
解题思路: 只需判断sqrt(n)内的质因数个数,因为两个大于sqrt(n)的数相乘大于n最后n不等于1要加上一个大于sqrt(n)的质因数
菜鸡的成长史^_^
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N=1e5; 4 int main() 5 { 6 int n,num; 7 while(~scanf("%d",&n)){ 8 num=0; 9 for(int i=2;i<=N;){ 10 if(n%i==0) n=n/i,num++; 11 else i++; 12 if(n==1) break; 13 } 14 if(n!=1) num+=1; 15 printf("%d\n",num); 16 } 17 return 0; 18 }View Code
标签:5271,int,个数,sqrt,120,num,TZOJ,质因数 来源: https://www.cnblogs.com/qq-1585047819/p/10644804.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。