Cod sursa(job #748306)
| Utilizator | Data | 13 mai 2012 00:12:32 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
const int N = 1000005;
int e[N];
int sol = 1;
void euler(int n)
{
for(int i=1;i<=n;i++)
e[i] = i;
for(int i=2;i<=n;i++) {
if(e[i] == i)
for(int j=i;j<=n;j+=i)
e[j] = e[j]/i * (i-1);
sol+=2*e[i];
}
}
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
int n;
scanf("%d", &n);
euler(n);
printf("%d\n", sol+1);
return 0;
}
