#include<bits/stdc++.h>
using namespace std;
int main() {
long long n,s = 0;
cin >> n;
for(long long a = 1;a a a <= n;a++) {
for(long long b = a;a b b <= n;b++) {
if(b <= n / (a b)) {//左边界必须小于右边界
s += (n / (a b) - b + 1);//s += (n / (a b) - b + 1);
// 这行代码计算了在当前 a 和 b 的条件下,C 可以取的值的数量。
//n / (a b) 是 C 的最大可能值,b - 1 是 C 的最小可能值(因为 B 必须大于 A),所
//以 n / (a * b) - b + 1 就是 C 可以取的所有整数值的数量。这个值被累加到 s 上。
}
}
}
cout << s;
}
using namespace std;
int main() {
long long n,s = 0;
cin >> n;
for(long long a = 1;a a a <= n;a++) {
for(long long b = a;a b b <= n;b++) {
if(b <= n / (a b)) {//左边界必须小于右边界
s += (n / (a b) - b + 1);//s += (n / (a b) - b + 1);
// 这行代码计算了在当前 a 和 b 的条件下,C 可以取的值的数量。
//n / (a b) 是 C 的最大可能值,b - 1 是 C 的最小可能值(因为 B 必须大于 A),所
//以 n / (a * b) - b + 1 就是 C 可以取的所有整数值的数量。这个值被累加到 s 上。
}
}
}
cout << s;
}
0 回复
0 转发
0 喜欢
2 阅读



