马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 LH魔王 于 2020-7-1 17:52 编辑 #if(0)
第14题:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5.
#endif
#include<stdio.h>
#include<math.h>
int judgement(int x)
{
int j;
if(sqrt(x)<2)
{
return x;
}
else
{
for(j=2;j<=sqrt(x);j++)
{
if(x%j==0)
{
return j;
break;
}
if(j==(int)sqrt(x))
{
if(x%j != 0)
{
return x;
}
}
}
}
}
int main()
{
int obj,result,n,total=1;
printf("请输入一个整数:");
scanf("%d",&obj);
n=obj;
result=judgement(n);
if(result==obj)
{
printf("您所输入的整数为素数!\n");
printf("%d=1*%d",obj,obj);
}
else
{
printf("%d=",obj);
while(1)
{
total=total*result;
printf("%d*",result);
n=n/result;
result=judgement(n);
if(total==obj)
{
break;
}
}
printf("1");
}
}
|