Cod sursa(job #350983)

Utilizator alutzuAlexandru Stoica alutzu Data 26 septembrie 2009 14:07:07
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<stdio.h>
#define N 1000002

int e[N] ;

int euler ( int n )
{
	
	int i,j;
	
	for(i=2;i<=n;i++) 
		e[i]=i;
	
	for (i=2; i<=n; i++ )
		if ( e[i]==i )
			for (j=i; j<=n; j+=i )
				e[j]=e[j]/i*(i-1);
	int S=0;
	for (i=2;i<=n;i++)
		S+= e[i] ;
	return (2*S+1) ;
}

int main ( )
{
	freopen ( "fractii.in" , "r" , stdin ) ;
	freopen ( "fractii.out" , "w" , stdout ) ;
	int n ;
	scanf ( "%d" , & n );
	printf ( "%d" , euler (n) );
}