求质数因子
作者:互联网
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如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