酷代码 AI
菜单

给定整数 N,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 𝑝 𝑖 和 𝑐 𝑖  即可 输入 一个整数N 3 <= 𝑛 <= 10 6 输出 N! 分解质因数后的结果,共若干行,每行一对 𝑝 𝑖 , 𝑐 𝑖 ,表示含有 𝑝 𝑖 𝑐 𝑖 项。按照 𝑝 𝑖 从小到大的顺序输出。 样例输入 复制 5 样例输出 复制 2 3 3 1 5 1 提示 5 ! = 120 = 2 3 ∗ 3 ∗ 5

```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; // 使用筛法找出所有质数 vector<bool> is_prime(n + 1, true); vector<int> primes; for (int i = 2; i <= n; i++) { if (is_prime[i]) { primes.push_back(i); for (long long j = (long long)i * i; j <= n; j += i) { is_prime[j] = false; } } } // 对每个质数计算在 n! 中的指数 for (int p : primes) { long long count = 0; long long power = p; while (power <= n) { count += n / power; power *= p; } cout << p << " " << count << endl; } return 0; } ``` [2026-01-11 17:51:06 | AI问答 | 213点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多