
代码
#include <iostream>
#include <vector>
using namespace std;
vector<int> count_divisors(int limit, int num) {
vector<int> s(num + 1, 0);
for (int i = 1; i <= limit; ++i) {
for (int j = i; j <= num; j += i) {
s[j] += 1;
}
}
return s;
}
int main() {
int N, M, K;
cin >> N >> M >> K;
vector<int> s_N = count_divisors(N, 1000000);
vector<int> s_M = count_divisors(M, 1000000);
long long result = 0;
for (int k = 1; k <= K; ++k) {
result += (long long)k * s_N[k] * s_M[k];
}
cout << result << endl;
return 0;
}

655

被折叠的 条评论
为什么被折叠?



