Cod sursa(job #144174)

Utilizator alexeiIacob Radu alexei Data 27 februarie 2008 12:05:28
Problema Nunta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>

int a[250],b[250],c[250];

void adunare(int a[], int b[], int c[])//"ideea originala de la Radu Berinde" putin modificata 
{
      int i, t = 0;
      for (i=1; i<=a[0] || i<=b[0] || t; i++, t/=10)
              c[i] = (t += a[i] + b[i])%10;
      c[0] = i - 1;
}

int main()
{
 freopen("nunta.in","r",stdin);
 freopen("nunta.out","w",stdout);
 
 int n,i,j;
 
 scanf("%d",&n);
 
 a[0]=1;
 b[0]=1;
 a[1]=1;
 b[1]=1;
 
 for(i=2; i<=n; ++i){
   c[0]=0;
    adunare(a,b,c);
    
    for(j=1; j<=b[0]; ++j)
    a[j]=b[j];
    a[0]=b[0];
    
    for(j=1; j<=c[0]; ++j)
    b[j]=c[j];
    b[0]=c[0];
    
}
   
   for(i=c[0]; i>=1; --i)
   printf("%d",c[i]);
   printf("\n"); 
    
    return 0;
}