《补题》(AtCoder Beginner Contest 292, C - Four Variables)

188 阅读1分钟

思维:分别枚举 AB,CD

#include <bits/stdc++.h>

using i64 = long long;

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int N;
	std::cin >> N;

	i64 ans = 0;

	std::vector<int> f(N + 1);
	for (int A = 1; A <= N; A++) {
		for (int B = 1; A * B <= N; B++) {
			f[A * B]++;
		}
	}
	for (int i = 1; i <= N; i++) {
		ans += f[i] * f[N - i];
	}
	std::cout << ans << "\n";

	return 0;
}