将一个正整数分解为质因数
#include<stdio.h>
int main()
{
int a;
scanf_s("%d", &a);
if (a % 2 != 0 && a % 3 != 0 && a % 5 != 0)
printf("prime");
else
{
for (int i = 2; i <= a; i++)
{
while (a != i)
{ // 执行的条件必须是n与i不等,若相等则分解结束了
if (a % i == 0)
{ // 若能整除则i为n的因子之一
printf("%d ", i); // 输出因子
a = a / i; // 找到了一个因子i,则n/i缩小n继续寻找
}
else
{
break; // 不能整除则跳出本次循环,递增i进行下一轮
}
}
}
printf("%d\n", a);
}
return 0;
}