1071: 分解质因子
时间限制: 1 Sec 内存限制: 30 MB
[提交] [状态] [讨论版] [命题人:eilene]
题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。
输入
输入一个正整数n(2<=n<=2000)。
输出
从小到大输出n的所有质因子,每两个数之间空一格。
样例输入 Copy
20
样例输出 Copy
2 2 5
提示
注意,最后一个数后面没有空格!!
来源/分类
代码:
#include<stdio.h>
int judge(int x);
int main()
{
int n;
int m;
scanf("%d",&n);
for(m=2;m<=n;m++)
{
if(m==(n-1))
{
printf("%d",n);
break;
}
if(n%(judge(m))==0)
{
printf("%d ",m);
n=n/m;
m=1;
}
}
}
int judge(int x)
{
int i;
int flag=0;
for(i=2;i<x;i++)
{
if(x==2)
{
break;
}
if(x%i==0)
{
flag=1;
break;
}
}
if(flag==0)
return x;
}