Cod sursa(job #569601)

Utilizator elfusFlorin Chirica elfus Data 1 aprilie 2011 20:06:21
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<stdio.h>
#define LMAX 1000100
int N,x[LMAX];
void read()
{
int i;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&N);
for(i=2;i<=N;i++)
	x[i]=i;
}

void solve()
{
int i,j;
long long num=1;
for(i=2;i<=N;i++)
	if(x[i]==i)
		for(j=i;j<=N;j+=i)
			x[j]=(long long)x[j]*(i-1)/i;
for(i=2;i<=N;i++)
	num+=x[i]<<1;
printf("%lld",num);
}

int main()
{
read();
solve();
return 0;
}