Cod sursa(job #247575)

Utilizator mottyMatei-Dan Epure motty Data 23 ianuarie 2009 12:27:22
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>

#define N 1000001

int n,v[N];

void euler()
{
	int i,j;
	for( i=2 ; i<N ; ++i )
		v[i]=i;
	for( i=2 ; i<N ; ++i )
		if( v[i]==i )
			for(j=i ; j<N ; j+=i )
				v[j] = v[j] / i * ( i - 1 ) ;
}

void calcul()
{
	long long s=1;
	int i;
	/*
	for( i=2 ; i<N ; ++i )
		printf("%d\n",v[i]);
	*/
	for( i=2 ; i<=n ; ++i )
		s+= 2 * v[i];
	printf("%lld",s);
	
}

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