给一个正整数N,满足A \times B + C = N的(A,B,C) 数据对个数有多少?
输入一个正整数
N
输出满足提交个数
3
3
满足条件的 A \timesB + C = 3: (A, B, C) = (1, 1, 2), (1, 2, 1), (2, 1, 1).
100
473
1000000
13969985
void coder_solution() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
long long ans = 0;
for (int i = 1; i < n; ++i) {
for(int j = 1; j * j <= i; ++j) {
if (i % j == 0) {
if (i / j == j) {
ans++;
} else {
ans += 2;
}
}
}
}
cout << ans;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
long long N;
cin >> N;
long long res = 0;
for (long long a = 1; a < N; ++a) res += (N - 1)/ a;
cout << res << endl;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
long long N;
cin >> N;
long long res = 0;
for (long long A = 1; A * A < N; ++A) ++res;
for (long long A = 1; A * A < N; ++A) {
long long num = max((N - 1) / A - A, 0LL);
res += num * 2;
}
cout << res << endl;
}