Cod sursa(job #291212)
| Utilizator | Data | 29 martie 2009 15:53:45 | |
|---|---|---|---|
| Problema | Fractii | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.37 kb |
#include<stdio.h>
unsigned long int phi[1000001];
int main(){
FILE *f=fopen("fractii.in","r");
FILE *g=fopen("fractii.out","w");
unsigned long int n,i,j,sol=0;
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++) phi[i]=i-1;
for(i=2; i<= n>>1 ; i++)
for(j=i<<1 ; j<=n; j+=i) phi[j] -= phi[i];
for(i=2;i<=n;i++) sol += phi[i]<<1;
fprintf(g,"%u",sol+1);
return 0;
}
