Cod sursa(job #518174)

Utilizator blastoiseZ.Z.Daniel blastoise Data 30 decembrie 2010 17:51:04
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>

long long N,aux,sol,n;
long p,i;

int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);

	scanf("%lld",&n);

	sol=N;
	for(i=1;i<=n;i++)
	{
		N=i;
		aux=N;
		if(aux%2==0)
		{
			while(aux%2==0) aux/=2;
			N/=2;
		}
		p=3;
		do
		{
			if(aux%p==0)
			{
				while(aux%p==0) aux/=p;
				N/=p;
				N*=(p-1);
			}
			p+=2;
		}while(aux!=1);
		sol+=N;
	}

	printf("%lld\n",sol*2-1);

	return 0;
}