Cod sursa(job #1011843)

Utilizator sleepaholicNeculaescu Theodor sleepaholic Data 17 octombrie 2013 16:46:07
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#define Nmax 215
using namespace std;

short n,Ante[Nmax],Prec[Nmax];

inline void Add(short A[],short B[])
{
    short 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);
    if(n==1){printf("1\n");return 0;}
    if(n==2){printf("2\n");return 0;}
    Ante[++Ante[0]]=1;
    Prec[++Prec[0]]=2;
    for(int i=3;i<=n;++i)
        if(i % 2==1)Add(Ante,Prec);
        else Add(Prec,Ante);
    if(n % 2==1)
         for(int i=Ante[0]; i ; --i)printf("%d",Ante[i]);
    else
         for(int i=Prec[0]; i ; --i)printf("%d",Prec[i]);
    printf("\n");
    return 0;
}