Cod sursa(job #947172)

Utilizator enedumitruene dumitru enedumitru Data 6 mai 2013 20:43:20
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <cstring>
using namespace std;
const int maxSize = 250;
int n;
int a[maxSize], b[maxSize], c[maxSize];
inline void add()
{   int i,t;
	for(i = 1, t = 0; 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);
    scanf("%d",&n);
    if(n<3) printf("%d",n);
    else
    {   a[0]=a[1]=b[0] = 1; b[1] = 2;
        for(int i=3;i<=n;++i)
        {   add();
            memcpy(a,b,(b[0]+1)*sizeof(int));
            memcpy(b,c,(c[0]+1)*sizeof(int));
        }
        for(int i=c[0];i;--i) printf("%d",c[i]);
    }
	printf("\n"); return 0;
}