Cod sursa(job #627086)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 28 octombrie 2011 22:59:14
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#define N 300
int a[N],b[N],c[N],i,n;

void copy(int a[N],int b[N])
{for(int i=0;i<=b[0];i++)
      a[i]=b[i];}
      
void add(int a[N],int b[N],int c[N])
{int i,t=0;
for(i=1;i<=b[0]||i<=c[0]||t;i++,t/=10)
      a[i]=(t+=b[i]+c[i])%10;
a[0]=i-1;}

int main()
{freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
scanf("%d",&n);
b[1]=2,c[1]=b[0]=c[0]=1;
if(n>3)
      {n-=2;
      while(n--)
            add(a,b,c),copy(c,b),copy(b,a);
      for(i=a[0];i;i--)
            printf("%d",a[i]);}
else
      printf("%d",n);
return 0;}