其实打个表就会发现,这个玩意儿是积性的,然后很happy的搞了一下。
不,不是这样。
考虑每个约数对答案的贡献,不难发现:约数i的贡献为n/i。
加之即可。
#include<iostream>#include<cstdio>using namespace std;int n,sum=0;int main(){ scanf("%d",&n); for (int i=1;i<=n;i++) sum=sum+n/i; printf("%d",sum); return 0;}