题目描述
输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
数据范围: 1≤n≤2×10^9+14
输入描述:
输入一个整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
示例1
输入:
180
输出:
2 2 3 3 5
代码
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int a;
cin>>a;
for(int i=2;i<=sqrt(a);i++) {
while(a%i==0) {
a=a/i;
cout<<i<<" ";
}
}
if(a-1>0) {
cout<<a;
}
cout<<endl;
return 0;
}