问题描述:
输入一个正整数,输出它的质因数分解的结果。
PS:质因子从小到大排列
例如:
输入:30
输出:30=2*3*5
输入:5
输出:5=5
参考代码:
#include <stdio.h>
int main()
{
int i, n;
printf("输入一个正整数n:");
scanf_s("%d", &n);
printf("%d=", n);
for (i = 2; i < n; i++)//对【2,n - 1】范围内的数进行遍历,并且n会随着找到了因子之后而缩小遍历范围
{
while (i != n)
{
if (n % i == 0)
{
printf("%d*", i);
n /= i;
}
else
break;
}
}
printf("%d\n", n);
return 0;
}
运行结果: