n!的质因数分解的结果c++
时间: 2024-03-24 21:39:41 浏览: 54
N!的质因数分解
以下是求 n! 的质因数分解结果的 C++ 代码:
```cpp
#include <iostream>
#include <map>
using namespace std;
map<int, int> factorize(int n) {
map<int, int> factors;
for (int i = 2; i <= n; i++) {
int num = i;
for (int j = 2; j <= num; j++) {
if (num % j == 0) {
factors[j]++;
num /= j;
j--;
}
}
}
return factors;
}
int main() {
int n;
cin >> n;
map<int, int> factors = factorize(n);
cout << n << "! = ";
for (auto it = factors.begin(); it != factors.end(); it++) {
if (it != factors.begin()) {
cout << " * ";
}
cout << it->first << "^" << it->second;
}
cout << endl;
return 0;
}
```
其中,factorize 函数用于对 n! 进行质因数分解,返回一个 map,其中 key 为质因子,value 为指数。主函数中首先读入 n,然后调用 factorize 函数进行质因数分解,最后输出结果。
阅读全文