描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
数据范围: 1≤n≤2×109 +14
输入描述:
输入一个整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
示例1
输入:
180
输出:
2 2 3 3 5
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int b=0;
cin>>b;
for(int i=2;i*i<=b&&b!=1;i++)//从2开始枚举,每找到一个质因数,就将剩下的数字当做新处理的数字即可
{
while(b%i==0) {cout<<i<<" ";b=b/i;}
}
if(b!=1) cout<<b;//被除的只剩下一个较大的质数啦,包括一开始就是质数本身
}