Pagini recente » Cod sursa (job #640656) | Clasament boji_round5 | Cod sursa (job #209463) | Cod sursa (job #1831897) | Cod sursa (job #78276)
Cod sursa(job #78276)
#include <stdio.h>
unsigned long n;
unsigned long cmmdc(unsigned long a, unsigned long b)
{
if (a==b) return a;
if (a>b) return cmmdc(a-b,b);
return cmmdc(a, b-a);
}
unsigned long div(unsigned long k)
{
unsigned long i,x;
x=0;
for (i=1; i<k; i++)
if (cmmdc(i,k)==1) x++;
return x;
}
unsigned long det(unsigned long n)
{
unsigned long i,p;
p=0;
for (i=2; i<=n; i++)
p=p+div(i);
p=2*p+1;
return p;
}
int calcul(int a, int b, int x, int y, int n)
{
if (b+y>n) return 0;
return 1+calcul(a,b,a+x,b+y,n)+calcul(a+x,b+y,x,y,n);
}
int main()
{
FILE *f, *g;
f=fopen("fractii.in","r");
fscanf(f,"%lu",&n);
g=fopen("fractii.out","w");
fprintf(g,"%lu",2*calcul(0,1,1,1,n)+1);
return 0;
}