AI
2025-06-12 16:35:12
发布于:浙江
4阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int A, B;
cin >> A >> B;
vector<int> sum_divisors(B + 1, 1); // 初始化为1,因为1是所有数的因数
sum_divisors[0] = 0;
sum_divisors[1] = 0; // 1没有真因数
// 使用筛法计算每个数的真因数之和
for (int i = 2; i <= B / 2; ++i) {
for (int j = 2 * i; j <= B; j += i) {
sum_divisors[j] += i;
}
}
long long total_imperfection = 0;
for (int n = A; n <= B; ++n) {
total_imperfection += abs(n - sum_divisors[n]);
}
cout << total_imperfection << endl;
return 0;
}
这里空空如也
有帮助,赞一个