Pagini recente » Cod sursa (job #2552430) | Cod sursa (job #711304) | Istoria paginii runda/olivranceanu/clasament | Istoria paginii runda/cocurs/clasament | Cod sursa (job #1012490)
#include<iostream>
#include<fstream>
using namespace std;
int a,b,n,k,i,st[30],q;
int cmmdc()
{
while (a!=b)
if(a>b)
a=a-b;
else
b=b-a;
if(a==1)
return 1;
return 0;
}
void init()
{
st[k]=0;
}
int am_succesor()
{
if(st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
int valid ()
{
if(k==2)
{
a=st[k-1];
b=st[k];
if(cmmdc()==1)
return 1;
else
return 0;
}
return 1;
}
int solutie()
{
return (k==2);
}
void back()
{
int as;
k=1;
init();
while(k>0)
{
do{}while( (as=am_succesor()) && !valid() );
if(as)
if(solutie())
q++;
else
{
k++;
init();
}
else
k--;
}
}
int main()
{
fstream f("fractii.in",ios::in),
g("fractii.out",ios::out);
f>>n;
back();
g<<q;
}