将一个正整数分解成质因数,首先我们引入“x”来储存要分解的整数,其次我们需要借用最小的质数“k”通过以下的步骤来把目标整数分解成质因数:
1.如果“x=k”,说明已经将整数分解成质因数,直接打印出结果。
2.如果“x≠k”,但是“x”可以被“k”整除,说明“k”为其中一个质因数,打印出此时的“k”。然后使用“x”除以“k”得到的商作为新的正整数“x”,重复执行以上步骤。
3.如果“x”不可以被“k”整除,那么使用“k+1”的值作为新的“k”,重复执行以上步骤。
程序代码如下:
#include<stdio.h>
int main()
{
int x, k;
printf("请输入一个整数:");
scanf_s("%d", &x);
printf("%d=", x);
for (k = 2; k <= x; k++)
while (x != k) //当x不等于k时执行循环
{
if (x % k == 0) //当x可以被k整除时执行以下语句,否则执行循环体
{
printf("%d*", k);
x = x / k;
}
else
break;
}
printf("%d", x); //输出最后一次不能再分解的质因数
return 0;
}