#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int temp=n;
/*
1没有算在这个质因数里面,但是如果这个数本来就是质数,那么它本身就是它的质因数。
所有的合数都是由质数相乘得到的,只要一个数把质因数全部除掉,它就不会有合因数了。
一个数的质因数不会超过它的算术平方根。
*/
if(n!=1){
//质数=素数
for(int i=2;i<=sqrt(n)&&temp;i++){
while(temp%i==0){
cout<<i<<' ';
temp/=i;
}
}
//判断剩余部分,如果有还未除尽的,直接输出
if(temp>1){
cout<<temp<<' ';
}
}
return 0;
}
HJ6 质数因子(C++)- 简单、排序
最新推荐文章于 2023-12-30 21:05:46 发布