题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×109+14输入描述:
输入一个整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
注:质数(又称素数)指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数。
从2开始枚举因子即可,使用sqrt函数开根号缩小一下枚举范围。
代码如下:
#include<iostream> #include <math.h> using namespace std; int main(){ int n; while(cin>>n){ for(int i=2;i<=sqrt(n);i++){ while(n % i == 0){ cout<< i <<' '; n/=i; } } if(n>=2) cout<< n <<endl; } }
标签:le,14,int,质数,因子,include 来源: https://www.cnblogs.com/glodears/p/16542215.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。