Cod sursa(job #216383)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 24 octombrie 2008 11:01:35
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
#define N 1000007
long long n;
long long e[N];
void read(){
	freopen("fractii.in","r",stdin);
	scanf("%lld",&n);
}
void solve(){
	long long i,j;
	for (i=1;i<=n;++i)
		e[i]=i;
	for (i=2;i<=n;++i)
		if (e[i]==i)
		{
			--e[i];
			for (j=i+i;j<=n;j+=i)
				e[j]=e[j]/i*(i-1);
		}
}
void write(){
	long long i;
	long long sum=1;
	freopen("fractii.out","w",stdout);
	for (i=2;i<=n;++i)
		sum+=(long long)2*e[i];
	printf("%lld\n",sum);
}
int main(){
	read();
	solve();
	write();
}