Cod sursa(job #569218)

Utilizator HotSteelBeteag Ion Andrei HotSteel Data 1 aprilie 2011 10:03:29
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
#define NMAX 1000010
long phi[NMAX];
long  long s=0;
void read(long n)
{
	long i;
}

void write(long n)
{
	long i;
	for (i=2;i<=n;i++)
		s=s+phi[i];
	s=s*2;
	s++;
	printf("%lld\n",s);
}

void nr_ciudat (long n)
{
	long i , j;
	for (i=2;i<=n;i++)
		if (i==phi[i])
		{
			for (j=i;j<=n;j=j+i)
				phi[j]=phi[j]/i*(i-1);
		}
}

int main()
{
	long n,i;
	
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	
	scanf("%ld",&n);
	for (i=1;i<=n;i++)
		phi[i]=i;
	nr_ciudat(n);
	write(n);
	return 0;
}