C++从键盘输入一个正整数,将它分解质因数输出
时间: 2024-12-20 15:20:05 浏览: 76
在C++中,你可以通过创建一个函数来实现这个功能。首先,你需要获取用户输入的正整数,然后将其分解成质因数并打印出来。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <vector>
// Function to check if a number is prime
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// Function to factorize and print prime factors
void primeFactorization(int n) {
std::vector<int> factors;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0 && isPrime(i)) { // If i is a factor and it's prime
factors.push_back(i);
n /= i;
}
}
// If n is greater than 1 after the loop, it means n itself is a prime factor
if (n > 1) {
factors.push_back(n);
}
// Print the factors
std::cout << "Prime factorization of " << n << " is: ";
for (int factor : factors) {
std::cout << factor << " ";
}
std::cout << std::endl;
}
int main() {
int inputNumber;
std::cout << "Enter a positive integer: ";
std::cin >> inputNumber;
primeFactorization(inputNumber);
return 0;
}
```
在这个代码中,我们首先定义了一个辅助函数`isPrime()`用于检查是否为素数。然后,我们在`primeFactorization()`函数中从2开始检查每个数,如果它是输入数n的因子并且是素数,则加入到质因数集合中,并更新n。最后,我们会检查剩下的n(如果大于1),看它是否是另一个质因数。
当你运行程序时,按照提示输入一个正整数,它会分解出其质因数并显示结果。
阅读全文
相关推荐







