Cod sursa(job #1484864)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 12 septembrie 2015 02:04:32
Problema Nunta Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
short A[210],B[210],n,t,i;
int main() {
    freopen("nunta.in","r",stdin),freopen("nunta.out","w",stdout),scanf("%hd",&n);
    for(A[0]=B[0]=A[1]=B[1]=1;n>1;n--) {
        for(t=0,i=1;i<=A[0]||i<=B[0]||t;i++,t/=10)
            B[i]=(t+=A[i]+B[i])%10;
        for(B[0]=i-1,t=0,i=1;i<=B[0];i++)
            A[i]=B[i]-((i<=A[0])?A[i]:0)-t,A[i]+=(t=A[i]<0)*10;
        for(A[0]=i-1;A[0]>1&&!A[A[0]];A[0]--);
    }
    for(i=B[0];i;i--)
        printf("%hd",B[i]);
}