Cod sursa(job #331099)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 12 iulie 2009 17:56:27
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>
#define DIM 1000001
/*oricine se uita la sursa aceasta sa stie ca mi'am strofocat creierii
cu aceste numere mari ~X( */
int n,a[DIM],l,b[DIM],k,c[DIM];
void add(int A[], int B[])
{
      int i, t = 0;
      for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
              A[i] = (t += A[i] + B[i]) % 10;
      A[0] = i - 1;
}
int main()
{ 
    freopen("nunta.in","r",stdin);
    freopen("nunta.out","w",stdout);
    scanf("%d",&n);
    a[0]=1;a[1]=1;
    b[0]=1;b[1]=1;
    for (k=1; k<n; ++k)
        {      
               for (l=a[0]; l>=1; --l)
                   c[l]=a[l];
                   c[0]=a[0];
               add(a,b);
               for (l=c[0]; l>=1; --l)
               b[l]=c[l];
               b[0]=c[0];
        }
   for (l=a[0]; l>=1; --l)
   printf("%d",a[l]);
return 0;
}