Pagini recente » Istoria paginii runda/lot_2018_baraj_1 | Diferente pentru utilizator/blacknesta intre reviziile 75 si 74 | Istoria paginii utilizator/visuianmihai | Monitorul de evaluare | Cod sursa (job #151731)
Cod sursa(job #151731)
#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;
}