例如:输入 90,打印出 90=2*3*3*5。
求出最小质因数再将商值赋予本身,来回从最小商值进行判断
当商值与最小商值一样时,即商值figure为1,跳出循环,
//将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5>
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,figure,temp;
printf("请输入你想测试的数字>>>");
scanf("%d",&figure);
printf("%d=",figure);
for(i=2;i<figure;i++)
{
if(figure%i==0)
{
figure=figure/i;
if(figure!=1)
{
printf("%d*",i);
}
else
break;
i=1;
}
}
printf("%d\n",i);
return 0;
}
运行结果:实现正整数分解质因数
ubuntu@ubuntu:20221104$ ./a.out
请输入你想测试的数字>>>4
4=2*2
ubuntu@ubuntu:20221104$ ./a.out
请输入你想测试的数字>>>12
12=2*2*3
ubuntu@ubuntu:20221104$ ./a.out
请输入你想测试的数字>>>36
36=2*2*3*3
ubuntu@ubuntu:20221104$ ./a.out
请输入你想测试的数字>>>100
100=2*2*5*5
ubuntu@ubuntu:20221104$