Pagini recente » Cod sursa (job #1047257) | Cod sursa (job #1212653) | Cod sursa (job #2832506) | Cod sursa (job #1935156) | Cod sursa (job #123473)
Cod sursa(job #123473)
#include<stdio.h>
#include<math.h>
int main()
{
long n,i,j,p,x;
unsigned long e,f=0;
int v;
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
scanf("%ld", &n);
for(i=2; i<=n; i++)
{
x=i;
p=0;
v=0;
while(x%2==0)
{
p++;
x=x/2;
v=1;
}
if(p>0)
e=(int)pow(2,p-1);
else
e=1;
p=0;
while(x%3==0)
{
v=1;
p++;
x=x/3;
}
if(p==0)
;
else
e=e*2*pow(3,p-1);
for(j=3; x!=1; j+=2)
{
if(x%j==0)
{
v=1;
p=0;
while(x%j==0)
{
p++;
x=x/j;
}
e=e*(j-1)*pow(j,p-1);
}
if((v==0)&&(j>sqrt(i)))
{
x=1;
e=i-1;
}
}
/*if(v==0)
e=i-1;
else
{
for(k=j+2; x!=1; k+=2)
{
if(x%k==0)
{
p=0;
while(x%k==0)
{
p++;
x=x/k;
}
e=e*(k-1)*pow(k,p-1);
}
}
}*/
f=f+(long unsigned int)2*e;
}
f=f+1;
printf("%lu\n", f);
return 0;
}