Cod sursa(job #1833997)
Utilizator | No Name Storak | Data | 23 decembrie 2016 17:19:47 |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<bits/stdc++.h>
#define maxN 1000005
using namespace std;
int Phi[maxN],n;
long long sol;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) Phi[i]=i;
for(int i=2;i<=n;i++)
{
if(Phi[i]==i)
{
for(int j=i;j<=n;j+=i)
{
Phi[j]=Phi[j]/i*(i-1);
}
}
}
for(int i=1;i<=n;i++)
{
sol=sol+1LL*Phi[i];
}
sol*=2LL;
sol-=1LL;
printf("%lld\n",sol);
return 0;
}