洛谷 P1403 [AHOI2005]约数研究
思路:Kelin的题解
代码(自己的丑代码)
#include <iostream>
#include <cstdio>
int main(){
int n;
long long ans = 0;
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
{
ans += n/i;
}
printf("%lld\n", ans);
return 0;
}
以及优化后
#include <iostream>
#include <cstdio>
int main(){
int n;
long long ans = 0;
scanf("%d", &n);
for(int i = 1, j; i <= n; i = j+1)
{
j = n / (n/i);
ans += (n/i) * (j-i+1);
}
printf("%lld\n", ans);
return 0;
}
本文详细解析洛谷P1403[AHOI2005]约数研究题目,分享了Kelin的题解思路,并提供了两段C++代码实现,包括原始解法和优化后的高效算法。
949

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



