Cod sursa(job #1129875)

Utilizator sebinechitasebi nechita sebinechita Data 28 februarie 2014 09:57:39
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#define baza 10

FILE* fin=fopen("nunta.in", "r");
FILE* fout=fopen("nunta.out", "w");

int a[215], b[215];

void sum(int a[], int b[])
{
    int i;
    if(b[0]>a[0])
        a[0]=b[0];
    for(i=1;i<=a[0];i++)
    {
        a[i]+=b[i];
    }
    for(i=1;i<=a[0];i++)
    {
        while(a[i]>baza)
            a[i]-=baza, a[i+1]++;
    }
    while(a[a[0]+1])
        a[0]++;
}

void af(int a[])
{
    for(int i=a[0];i>=1;i--)
    {
        fprintf(fout, "%d", a[i]);
    }
    fprintf(fout, "\n");

}

int main()
{
    int n, i;
    a[0]=b[0]=1;
    a[1]=1;
    b[1]=1;
    fscanf(fin, "%d", &n);
    n--;
    for(i=1;i<=n;i++)
    {
        if(i&1)
            sum(a, b);
        else
            sum(b, a);
    }
    if(n&1)
        af(a);
    else
        af(b);
}