素數分解是將一個正整數分解成若干個素數的乘積的過程。下面是一個用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文件,編譯運行即可得到輸入正整數的素數分解結果。