先看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 40001
int p[N],k,phi[N],np[N];
void pri()
{
phi[1]=1,np[1]=1;
for(int i=2;i<N;i++)
{
if(!np[i])
{
p[++k]=i;
phi[i]=i-1;
}
for(int j=1;j<=k&&i*p[j]<N;j++)
{
np[i*p[j]]=1;
if(!(i%p[j]))
{
phi[i*p[j]]=phi[i]*p[j];
break;
}
phi[i*p[j]]=phi[i]*(p[j]-1);
}
}
}
signed main(){
pri();
int n,ans;
cin>>n;
if(n==1)
{
cout<<"0"<<endl;
return 0;
}
for(int i=1;i<n;i++)
{
ans+=phi[i];
}
cout<<(ans<<1|1)<<endl;
return 0;
}
我的程序在本地运行时样例输出11
但是却AC了