Pagini recente » Cod sursa (job #488419) | Cod sursa (job #659955) | Cod sursa (job #1217606) | Cod sursa (job #27172) | Cod sursa (job #259594)
Cod sursa(job #259594)
// infoarena.ro - "FRACTII" - 15.02.2009
#include<stdio.h>
long int nr;
int cmmdc(long int p, long int q)
{ int x;
while (q!=0)
{ x=p;
p=q;
q=x%q;
}
return p;
}
int solutie(long int p, long int q, long int n)
{ if (p>n || q>n)
return 0;
if (q==1 || p==1)
return 1;
else
if (cmmdc(p,q)!=1)
return 0;
return 1;
}
void det(long int p, long int q, long int n)
{ if (solutie(p,q,n))
{ nr++;
det(p,q+1,n);
}
else
{ if (q>=n && p<n)
det(p+1,2,n);
else
if (p<=n && q<n)
det(p,q+1,n);
}
}
int main()
{
FILE *f,*g;
f=fopen("fractii.in", "r");
long int n,p,q;
fscanf(f,"%D",&n);
fclose(f);
nr=2*n-1;
det(2,3,n);
g=fopen("fractii.out", "w");
fprintf(g,"%ld",nr);
fclose(g);
return 0;
}