Cod sursa(job #491007)
| Utilizator | Data | 9 octombrie 2010 11:45:09 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <stdio.h>
FILE *in,*out;
int i,n,s;
int fi(int n)
{
int result = n;
for(i=2;i*i<= n;i++)
{
if (n % i == 0) result -= result / i;
while (n % i == 0) n /= i;
}
if (n > 1) result -= result / n;
return result;
}
int main()
{
s=0;
in=fopen("fractii.in","r");
fscanf(in,"%d",&n);
fclose(in);
for(i=0;i<n;i++)
{
s=s+fi(i);
}
out=fopen("fractii.out","w");
fprintf(out,"%d",s);
fclose(out);
return 0;
}
