Cod sursa(job #759740)
| Utilizator | Data | 19 iunie 2012 00:48:59 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <cstdio>
#include "stdlib.h"
int main()
{
int *phi;
FILE *f = fopen("fractii.in","r");
FILE *g = fopen("fractii.out","w");
int n;
fscanf(f,"%d",&n);
phi = (int*)malloc((1+n)*sizeof(int));
int s = 1;
//compute phi(n)
for (int i = 1; i <= n; ++i)
phi[i] = i-1;
for (int i = 2; i <= n; ++i)
{
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
s += 2*phi[i];
}
fprintf(g,"%ld",s);
fclose(f);
fclose(g);
}