I need help!
查看原帖
I need help!
94531
Watermatter楼主2020/10/6 21:32
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n;
ll phi(ll x){
    ll ans=x;
    for(int i=2;i*i<=x;i++){
        if(x%i==0)ans=ans-ans/i;
        while(x%i==0)x/=i;
    }
    if(x>1)ans=ans-ans/x;
    return ans;
}
int main(){
    scanf("%lld",&n);
    ll sum=0;
    for(int i=1;i*i<=n;i++){
        if(n%i==0){
            sum+=i*phi(n/i);
            if(i*i!=n)sum+=n/i*phi(i);
        }
    }
    printf("%lld\n",sum);
    return 0;
}

TLE第5个点。
评测记录

2020/10/6 21:32
加载中...