Pagini recente » Cod sursa (job #1238208) | Cod sursa (job #878386) | Cod sursa (job #710719) | Cod sursa (job #2238490) | Cod sursa (job #17951)
Cod sursa(job #17951)
#include<stdio.h>
long b[1000];
void descompune(long x)
{
long d=2;;
b[0]=0;
while(x>1)
{
if(!(x%d))
{
b[0]++;
b[b[0]]=d;
while(!(x%d)) x/=d;
}
d++;
}
}
long euler(long x)
{
descompune(x);
int i;
long e=x;
for(i=1;i<=b[0];i++)
e=e*(b[i]-1)/b[i];
return e;
}
long calculeaza(long n)
{
long i,nr=1;
for(i=2;i<=n;i++)
nr+=2*euler(i);
return nr;
}
int main(void)
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
long n,nr;
scanf("%ld",&n);
nr=calculeaza(n);
printf("%ld",nr);
fclose(stdin);
fclose(stdout);
return 0;
}