Cod sursa(job #1276399)

Utilizator hasmasandragosHasmasan Dragos hasmasandragos Data 26 noiembrie 2014 12:09:09
Problema Nunta Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>
using namespace std;

short int a[102],b[102];
int n;

void adunare (short int A[] ,short int B[])
{
    int t=0,i;
    for (i=1;i<=A[0] || i<=B[0] || t; i++ , t/=10)
    {
        t=t+A[i]+B[i];
        A[i]=t%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]=2;
    int i;
    if (n==1) printf("%d","1");
    else if (n==2) printf("%d","2");
    else
    {
        for (i=3;i<=n;i++)
        {
           if (i%2)
           adunare(a,b);
           else
           adunare(b,a);
        }
    }
    if (n%2==0)
    for (i=b[0];i>=1;i--)
        printf("%d", b[i]);
    else
    for (i=a[0];i>=1;i--)
        printf("%d", a[i]);
    return 0;
}