Cod sursa(job #2022604)

Utilizator LeVladzCiuperceanu Vlad LeVladz Data 16 septembrie 2017 19:56:17
Problema Nunta Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <cstdio>

using namespace std;

char a[209],b[209];

/*void adun(char A[], char B[])
{
    short t = 0;
    short aux = 0;
    for (short i=0; i<=nrcif; i++)
    {
        aux = B[i];
        B[i] += A[i]+t;
        if (B[i] >= 10)
        {
            t = 1;
            B[i] -= 10;
        }
        else
            t = 0;
        A[i] = aux;
    }
    if (t != 0)
        B[++nrcif] = t;
}*/

int main()
{
    FILE *fin = fopen("nunta.in", "r");
    FILE *fout = fopen("nunta.out", "w");
    short n,i,j,nrcif,t,aux;
    fscanf(fin, "%hd", &n);
    if (n == 1)
    {
        fprintf(fout, "%d", 1);
        return 0;
    }
    a[0] = b[0] = 1;
    for (i=1; i<=n-1; i++)
    {
        //adun(a, b);
        t = 0;
        for (j=0; j<=nrcif; j++)
        {
            aux = b[j];
            b[j] += a[j]+t;
            if (b[j] >= 10)
            {
                t = 1;
                b[j] -= 10;
            }
            else
                t = 0;
            a[j] = aux;
        }
        if (t != 0)
            b[++nrcif] = t;
    }
    for (i=nrcif; i>=0; i--)
        fprintf(fout, "%d", (int)b[i]);
    return 0;
}