唯一分解定理c++
作者:野牛程序员:2023-07-07 05:45:50 C++阅读 3204
在C++中,唯一分解定理通常指的是整数唯一分解定理,也称为质因数分解定理。它指出任何一个大于1的正整数都可以唯一地表示为一组质数的乘积。
下面是一个用C++实现整数唯一分解的示例代码:
#include <iostream>
#include <vector>
using namespace std;
vector<int> primeFactorization(int n) {
vector<int> factors;
// 将2作为质因数,不断将2整除n,直到n为奇数
while (n % 2 == 0) {
factors.push_back(2);
n /= 2;
}
// 在剩余的奇数中查找质因数
for (int i = 3; i * i <= n; i += 2) {
while (n % i == 0) {
factors.push_back(i);
n /= i;
}
}
// 如果n是质数大于2,则n本身是一个质因数
if (n > 2) {
factors.push_back(n);
}
return factors;
}
int main() {
int num;
cout << "请输入一个正整数: ";
cin >> num;
vector<int> factors = primeFactorization(num);
cout << "唯一分解定理结果: ";
for (int factor : factors) {
cout << factor << " ";
}
cout << endl;
return 0;
}这个程序首先定义了一个函数primeFactorization,它接受一个整数作为输入,并返回一个包含该整数的质因数的向量。该函数通过不断将2整除n,然后在剩余的奇数中查找质因数,最终将所有的质因数存储在向量中并返回。
在主函数中,用户被要求输入一个正整数,然后调用primeFactorization函数来计算唯一分解定理的结果,并将结果输出到控制台上。
请注意,这只是一个简单的实现示例,它假设输入是一个正整数。在实际应用中,你可能需要添加更多的输入验证和错误处理逻辑。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:devc++中文乱码怎么解决
- 下一篇:vector删除第i个元素
