Cod sursa(job #592576)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 29 mai 2011 09:56:16
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>

using namespace std;

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

int main()
{
    int i,j,n,t=0;
    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;
    }
    a[0]=1;a[1]=1;
    b[0]=1;b[1]=2;
    c[0]=1;c[1]=2;
    for (i=3;i<=n;++i,t=0)
    {
        for (j=1;j<=c[0]||j<=a[0]||t;++j,t/=10)
            c[j]=(t+=c[j]+a[j])%10;
        c[0]=j-1;
        for (j=0;j<=b[0];++j)
            a[j]=b[j];
        for (j=0;j<=c[0];++j)
            b[j]=c[j];
    }
    for (i=c[0];i>0;--i)
        printf("%d",c[i]);
    printf("\n");
    return 0;
}