Cod sursa(job #126452)

Utilizator IeewIordache Bogdan Ieew Data 22 ianuarie 2008 11:15:07
Problema Nunta Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream.h>
#include <stdlib.h>
#define InFile "nunta.in"
#define OutFile "nunta.out"
int n,q=0;
unsigned long long b[1000],x,xx,sol[100];

void adunare(long long x)
{int i=0;
while(x>0)
{
 x+=sol[i];
 sol[i]=x%10;
 x/=10;
 if(i>q)q=i;
 i++;
}
}

void afisare()
{int i;
ofstream out(OutFile);
for(i=q;i>=0;i--)out<<sol[i];out<<'\n';
out.close();
}

int main()
{int i,j,q;
ifstream in(InFile);
in>>n;
in.close();
sol[0]=1;
for(i=0;i<n;i++)
{
  b[i]=1;
  x=b[0];
  xx=b[1];

  for(j=1;j<i;j++)
  {b[j]=x+xx;x=xx;xx=b[j+1];}

  if(i>=n-n/2)adunare(b[n-i]);
}
afisare();
return 0;
}