1071: 分解质因子
- 题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。 - 输入
输入一个正整数n(2<=n<=2000)。 - 输出
从小到大输出n的所有质因子,每两个数之间空一格。 - 参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
for(int i=2;n>1;i++){
while(n%i==0){
printf("%d",i);
n=n/i;
if(n==i){
printf("\n");
}
else
printf(" ");
}
}
return 0;
}
代码解析:
分解质因数,也就是分出一个数的所有质数因数,这个不难吧,按序除就行了,如果有解就递归回去继续除,最后记得把每一次的解输出即可!