![BZOJ 1968: [Ahoi2005]COMMON 约数研究 BZOJ 1968: [Ahoi2005]COMMON 约数研究](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
1968: [Ahoi2005]COMMON 约数研究
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 2032 Solved: 1537
[Submit][Status][Discuss]
Description
![BZOJ 1968: [Ahoi2005]COMMON 约数研究 BZOJ 1968: [Ahoi2005]COMMON 约数研究](https://image.shishitao.com:8440/aHR0cDovL3d3dy5seWRzeS5jb20vSnVkZ2VPbmxpbmUvaW1hZ2VzLzE5NjguanBn.jpg?w=700&webp=1)
Input
只有一行一个整数 N(0 < N < 1000000)。
Output
只有一行输出,为整数M,即f(1)到f(N)的累加和。
Sample Input
3
Sample Output
5
HINT
Source
智障的我看到N的范围就像线性求欧拉函数,没救了……
只需要枚举1到N中的每个数,计算其是几个范围内的数的约数即可。
#include<bits/stdc++.h> signed main(void)
{
int n; scanf("%d", &n);
long long ans = ;
for (int i = ; i <= n; ++i)
ans += n / i;
printf("%lld\n", ans);
}
@Author: YouSiki