Cod sursa(job #221808)

Utilizator SheepBOYFelix Liviu SheepBOY Data 18 noiembrie 2008 08:53:24
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
#define MAX 1000002
int n,F[MAX];
void init()
{
	int i,j;
	for(i=2;i<=n;++i)
		F[i]=i;
	for(i=2;i<=n;++i)
		if(F[i]==i)
			for(j=i;j<=n;j+=i)
				F[j]=F[j]/i*(i-1);
}
inline long long calcul()
{
	int i;
	long long sum=1;
	for(i=2;i<=n;i++)
		sum+=(F[i]<<1);
	return sum;
}
int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	scanf("%d",&n);
	init();
	printf("%d",calcul());
	return 0;
}