用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]。
阅读全文

相关推荐