Cod sursa(job #936306)

Utilizator bogdanpaunFMI Paun Bogdan Gabriel bogdanpaun Data 6 aprilie 2013 18:06:52
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int st[100],k=1,n,as,ev,fr=1;
int cmmdc()
{
  int a,b;
  a=st[1];
  b=st[2];
  while(a!=b)
     if(a>b) a-=b;
     else b-=a;
  return a;
}
int succ(int k)
{
    if(st[k]<n)
    {
        st[k]++;
        return 1;
    }
    return 0;
}
int valid(int k)
{
    int i;
    if(k==1)
        return 1;
    if(st[k-1]==st[k] || cmmdc()!=1 )
        return 0;
    return 1;

}
int main()
{
    f>>n;
    while(k>0)
    {
        do
        {
            as=succ(k);
            if(as) ev=valid(k);
        }while(as && !ev);
        if(as && ev)
        {
            if(k==2)
                fr++;
            else {  k++;
                    st[k]=0;}
        }
        else
            k--;

    }
    g<<fr;
    return 0;
}