gcd的和

#include
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1e5;
typedef long long ll;
int gcd(int a,int b){
    return !b?a:gcd(b,a%b);
}
ll n,ans=0,a[maxn];
int main(){
    scanf("%lld",&n);
    for(int i=n;i>=1;i--){
        //cout<<ans<<endl;
        a[i]=(n/i)*(n/i);
        for(int j=2;;j++){
            if(j*i>n) break;
            else a[i]-=a[j*i];
        }
        ans+=a[i]*i;
    }
    cout<<ans<<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章