温馨提示×

C++素数分解的实现方法

c++
小樊
127
2024-08-23 15:28:29
栏目: 编程语言

素数分解是将一个正整数分解成若干个素数的乘积的过程。下面是一个用C++实现素数分解的方法:

#include <iostream>

void primeFactorization(int n) {
    for (int i = 2; i <= n; i++) {
        while (n % i == 0) {
            std::cout << i << " ";
            n /= i;
        }
    }
    if (n > 1) {
        std::cout << n;
    }
}

int main() {
    int n;
    std::cout << "Enter a positive integer: ";
    std::cin >> n;

    std::cout << "Prime factors of " << n << " are: ";
    primeFactorization(n);

    return 0;
}

在上面的代码中,我们定义了一个函数primeFactorization来实现素数分解。该函数接受一个正整数n作为参数,并通过循环找到n的所有素因子。当找到一个素因子时,就将其输出,并将n除以该素因子,继续循环直到n变为1或者没有更大的素因子。最后,如果n仍然大于1,说明n本身就是一个素数,也将其输出。

main函数中,我们首先输入一个正整数n,然后调用primeFactorization函数进行素数分解,并输出结果。

可以将以上代码保存为一个.cpp文件,编译运行即可得到输入正整数的素数分解结果。

0