Cod sursa(job #151731)

Utilizator FlorinC1996Florin C FlorinC1996 Data 8 martie 2008 16:08:16
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
long cmmdc(long a,long b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
long calculeaza(long n)
{
long p,phi,f;
phi=n;
f=2;
while(n>1)
{
p=0;
while(n%f==0)
{
++p;
n=n/f;
}
if(p)
phi=phi/f*(f-1);
f++;
}
return phi;
}
int main()
{
long j,n,s=0,i;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
s+=calculeaza(i);
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(cmmdc(i,j)==1)
s++;
printf("%ld",s);
fcloseall();
return 0;
}