4 条题解
-
-7
#include <bits/stdc++.h> std::vector primeFactors(int n) { std::vector factors; // 处理2的因数 while (n % 2 == 0) { factors.push_back(2); n /= 2; } // 处理奇数因数,从3开始,每次增加2 for (int i = 3; i <= std::sqrt(n); i += 2) { while (n % i == 0) { factors.push_back(i); n /= i; } } // 如果n本身是一个质数且大于2 if (n > 2) { factors.push_back(n); } return factors; }
int main() { int n; std::cin >> n;
std::vector<int> factors = primeFactors(n); // 输出结果 std::cout << n << "="; for (size_t i = 0; i < factors.size(); ++i) { std::cout << factors[i]; if (i < factors.size() - 1) { std::cout << "*"; } } std::cout << std::endl; return 0;}
信息
- 编号
- 2338
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 47
- 已通过
- 21
- 上传者