c++实现合数因式分解
时间: 2024-11-03 21:23:53 浏览: 19
在C++中实现合数因式分解,通常我们会创建一个函数来找出给定整数的所有质因子。以下是一个简单的示例,使用了循环和除法操作:
```cpp
#include <iostream>
#include <vector>
// 判断一个数是否是质数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
// 因式分解函数
std::vector<int> prime_factors(int n) {
std::vector<int> factors;
for (int i = 2; i * i <= n; ++i) { // 只考虑到√n,因为大于这个值的因子都是已知的较小因子配对得到的
while (n % i == 0 && is_prime(i)) {
factors.push_back(i);
n /= i; // 更新n
}
}
// 如果n还大于1,说明它是最后一个未分解的质因子
if (n > 1)
factors.push_back(n);
return factors;
}
int main() {
int num;
std::cout << "请输入一个整数: ";
std::cin >> num;
std::vector<int> factors = prime_factors(num);
std::cout << "因式分解结果: ";
for (const auto &factor : factors)
std::cout << factor << " ";
return 0;
}
```
在这个程序中,我们首先判断每个数是否是质数,然后利用循环将合数分解成质因数。用户输入一个整数后,程序会输出它的质因数分解。
阅读全文