Cod sursa(job #569600)
| Utilizator | Data | 1 aprilie 2011 20:05:09 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
#define LMAX 1000100
int N,x[LMAX];
void read()
{
int i;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&N);
for(i=2;i<=N;i++)
x[i]=i;
}
void solve()
{
int i,j;
long long num=1;
for(i=2;i<=N;i++)
if(x[i]==i)
for(j=i;j<=N;j+=i)
x[j]=x[j]*(i-1)/i;
for(i=2;i<=N;i++)
num+=x[i]<<1;
printf("%lld",num);
}
int main()
{
read();
solve();
return 0;
}
