1 条题解
-
0
自动搬运
来自洛谷,原作者为

FJ_EYoungOneC
这个人很勤快,但是他并不想留下什么搬运于
2025-08-24 21:16:52,当前版本为作者最后更新于2024-12-13 16:43:13,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
解题思路
数字 是奇妙数字当且仅当 其中 为任意质数且 为正整数。
那么我们可以对 进行质因子分解,并统计每个质数因子的个数。
假设数字 含有 个因子 ,那么可以凑出 ,共三个数。
那么我们需要计算的就是 因子的个数时 的最小解,那么 就是答案。
我们可以使用二分 等差数列求和公式进行计算,由于数据范围较小(
long long范围以内,质因子最多个数的即为 ),直接模拟即可。AC_Code
#include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; LL x; int calc(int x) { int res = 0, k = 1; while (x >= k) { res ++; x -= k ++; } return res; } int main() { cin >> x; LL res = 0; for (int i = 2; i <= x / i; ++ i ) { int cnt = 0; while (x % i == 0) x /= i, cnt ++; if (cnt) res += calc(cnt); } if (x > 1) res ++; cout << res << endl; return 0; }
- 1
信息
- ID
- 11077
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者