Cod sursa(job #264462)

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

int phi(int m)
{
	int s,q;
	q=1;
	for (s=2;s*s<=m;s++)
	{
		if (m%s==0)
		{
			q=q*(s-1);
			m=m/s;
			while (m%s==0)
			{
				q=q*s;
				m=m/s;
			}
		}
	}
	if (m!=1) 
		q=q*(m-1);
	return q;
}

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;
}