【洛谷P3708】Koishi的数学题

可以很显然的看出分块的性质……

看不出来的打个表也能看出来。

然后就是随手做做就行了。

#include<bits/stdc++.h>
#define N 1000005
typedef long long ll;
using namespace std;
ll n,sum,f[N];
int main(){
    cin>>n;
    for(int i=2;i<=n;i++)for(int j=i;j<=n;j+=i)f[j]+=i;
    for(int i=1;i<=n;i++)sum+=n-1-f[i],printf("%lld ",sum);
    return 0;
}

 

posted @ 2017-05-25 21:03  zcysky  阅读(228)  评论(0编辑  收藏  举报