素数分解是将一个正整数分解成若干个素数的乘积的过程。下面是一个用C++实现素数分解的方法:
#include
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文件,编译运行即可得到输入正整数的素数分解结果。