Mai intai trebuie sa te autentifici.
Cod sursa(job #447637)
Utilizator | Data | 29 aprilie 2010 18:00:41 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <cstdio>
#include <cmath>
int n,max,sq,d=-1,phi[1000001];
int euler() {
int rezultat=0;
for (int i = 1; i <= n; ++i)
phi[i] = i-1;
for (int i = 2; i <= n; ++i) {
rezultat+=phi[i];//numarul de fractii subunitare
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
}
return 2*rezultat+1;
}
int main()
{
FILE *f=fopen("fractii.in","r");
FILE *g=fopen("fractii.out","w");
fscanf(f,"%d",&n);
sq=sqrt((double)n);
fprintf(g,"%d",euler());
fclose(f);
fclose(g);
return 0;
}