1366: 分解质因子
时间限制: 1 Sec 内存限制: 128 MB
题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。
输入
输入一个正整数n(2<=n<=2000)。
输出
从小到大输出n的所有质因子,每两个数之间空一格。
样例输入
20
样例输出
2 2 5
提示
注意,最后一个数后面没有空格!!
#include<stdio.h>
int main()
{
int m,n,a[20000]={0},i=0;
scanf("%d",&n);
while(n>1)
{
m=2;//每次从2开始取i最小的素数
for(;m<=n;m++)
{
if(n%m==0)
{
a[i]=m;
i++;
n=n/m;
break;
}
}
}
for(m=0;m<i;m++)
{
if(a[m]!=0)
{
printf("%d ",a[m]);
}
}
}