Cod sursa(job #264467)

Utilizator Radu_BumbaceaRadu Bumbacea Radu_Bumbacea Data 22 februarie 2009 10:34:48
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>

int a[1000000];

int phi(int m)
{
	int s;
	for (s=2;s*s<=m;s++)
	{
		if (m%s==0)
		{
			if ((m/s)%s==0)
				a[m]=a[m/s]*s;
			else
				a[m]=a[m/s]*(s-1);
			return a[m];
		}
	}
	a[m]=m-1;return a[m];
}

int main()
{
	long long int nr;
	int n;
	nr=0;
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	scanf("%d",&n);
	for (int i=2;i<=n;i++)
		nr=nr+phi(i);		
	nr=nr*2+1;
	printf("%lld",nr);
	return 0;
}