在C++中,可以通過循環遍歷從2開始的所有整數,依次判斷這些整數是否能夠整除給定的大數,如果能夠整除,那么這個整數就是大數的一個質因數。具體實現代碼如下:
#include <iostream>
#include <vector>
void primeFactorization(long long n) {
std::vector<long long> factors;
for (long long i = 2; i * i <= n; i++) {
while (n % i == 0) {
factors.push_back(i);
n /= i;
}
}
if (n > 1) {
factors.push_back(n);
}
std::cout << "Prime factors of the number are: ";
for (long long factor : factors) {
std::cout << factor << " ";
}
}
int main() {
long long number;
std::cout << "Enter a number to find its prime factors: ";
std::cin >> number;
primeFactorization(number);
return 0;
}
在上面的代碼中,首先定義了一個primeFactorization
函數,該函數接受一個大數n
作為參數,并將其分解為質因數存儲在factors
向量中。然后在主函數中,從標準輸入中讀取一個大數,并調用primeFactorization
函數來計算其質因數。最后輸出質因數序列。