Cod sursa(job #1276375)

Utilizator hasmasandragosHasmasan Dragos hasmasandragos Data 26 noiembrie 2014 11:45:11
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
using namespace std;

ifstream f("nunta.in");
ofstream g("nunta.out");

int a[105],b[105],c[105],n;

void adunare (int A[] , int B[] , int C[])
{
    int t=0,i;
    for (i=1;i<=A[0] || i<=B[0] || t; i++ , t/=10)
    {
        t=t+A[i]+B[i];
        C[i]=t%10;
    }
    C[0]=i-1;
}

void golire (int A[])
{
    int i;
    for (i=1;i<=A[0];i++)
        A[i]=0;
    A[0]=0;
}

void atribuire (int A[], int B[])
{
    int i;
    for (i=1;i<=B[0];i++)
        A[i]=B[i];
    A[0]=B[0];
}

int main()
{
    a[0]=1; a[1]=1;
    b[0]=1; b[1]=2;
    f>>n;
    int i;
    if (n==1) g<<"1";
    else if (n==2) g<<"2";
    else
    {
        for (i=3;i<=n;i++)
        {
           adunare(a,b,c);
           golire(a);
           atribuire(a,b);
           golire(b);
           atribuire(b,c);
           golire(c);
        }
    }
    for (i=b[0];i>=1;i--)
        g<<b[i];
    return 0;
}