for (i = 2; i <= n/2; i++) { if (n % i == 0) { break; }}

c语言如何分解质因数

来源:这里教程网 时间:2026-02-21 16:49:30 作者:

C语言分解质因数

分解质因数是指将一个正整数分解成其所有素数因子的乘积。在C语言中,可以使用以下步骤来分解质因数:

    初始化变量

    n
    :要分解的正整数
    i
    :遍历的因子
    temp
    :存储分解结果

    遍历因子

    立即学习“C语言免费学习笔记(深入)”;

    <code class="c">for (i = 2; i <= n/2; i++) {
        if (n % i == 0) {
            break;
        }
    }</code>

    检查是否为素数

    <code class="c">if (i == n/2 + 1) {
        printf("%d 是一个素数\n", n);
        return;
    }</code>

    更新变量并递归调用

    <code class="c">temp = n / i;
    printf("%d * ", i);
    分解质因数(temp);</code>

    递归退出条件

    n
    为 1 时,分解过程结束。

示例

分解 12 的质因数:

<code class="c">#include <stdio.h>
void 分解质因数(int n) {
    int i, temp;
    for (i = 2; i <= n/2; i++) {
        if (n % i == 0) {
            break;
        }
    }
    if (i == n/2 + 1) {
        printf("%d 是一个素数\n", n);
        return;
    }
    temp = n / i;
    printf("%d * ", i);
    分解质因数(temp);
}
int main() {
    int n = 12;
    分解质因数(n);
    return 0;
}</code>

输出:

<code>2 * 2 * 3</code>

相关推荐