Cod sursa(job #121499)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 8 ianuarie 2008 21:45:01
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>
long a[2000005],v[2000005];
void totient()
{ long i,j;
	for (i=2;i<=2000000;i++)
		v[i]=i;
	for (i=2;i<=2000000;i++)
		{
		if (a[i]==0)
			{
			j=1;
			while(i*j<=2000000)
				{
				a[i*j]=1;
				v[i*j]=v[i*j]-(v[i*j]/i);
				j++;
				}
			}
		}

}
int main()
{ long long n,i,j,p,q,sol=1;
FILE*f=fopen("fractii.in","r");
FILE*g=fopen("fractii.out","w");
totient();
fscanf(f,"%lld",&n);
for (i=2;i<=n;i++)
	sol+=2*v[i];
fprintf(g,"%lld",sol);
return 0;
}