用C语言完成:请把一个输入的数分解成正质因数乘积,使用for循环嵌套while循环完成
时间: 2025-06-15 08:26:27 AIGC 浏览: 20
### 使用 `for` 循环嵌套 `while` 循环实现质因数分解
为了满足需求,可以采用如下方法,在外层使用 `for` 循环遍历可能的质因子范围,内层利用 `while` 循环处理当前找到的质因子直到其不再能整除目标数值。以下是具体的 C 语言代码示例:
```c
#include <stdio.h>
int main() {
int n;
printf("Input m:");
scanf("%d", &n);
if (n <= 1) {
printf("Invalid input.\n");
return 0;
}
int has_factors = 0;
for (int i = 2; i * i <= n; ++i) { // 外层for循环用于迭代潜在的质因子
while (n % i == 0) { // 内层while循环持续去除该质因子直至无法再分
if (!has_factors) {
printf("%d =", n);
has_factors = 1;
}
printf(" %d", i);
n /= i;
if (n != 1 && n % i != 0) {
putchar('*');
}
}
}
if (n > 1 || !has_factors) { // 若剩余部分仍大于1,则说明它本身是一个较大的质数
if (!has_factors) {
printf("%d =", n);
}
printf(" %d", n);
}
putchar('\n');
return 0;
}
```
这段代码首先读取用户输入的一个正整数 `n`,接着通过 `for` 和 `while` 结合的方式寻找并打印所有的质因数[^4]。
阅读全文
相关推荐


















