Cod sursa(job #2110841)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 21 ianuarie 2018 14:04:40
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#include <fstream>
using namespace std;
unsigned char a[212], b[212];
void add(unsigned char f1[], unsigned char f2[])
{
    int i, t=0;
    for(i=1; i<=f1[0]-'0' || t!=0; i++)
    {
        if(f2[i] && f1[i]) f2[i]=f2[i]-'0'+f1[i]-'0'+t+'0';
        else if(f1[i]) f2[i]=f1[i]-'0'+t+'0';
        else f2[i]=t+'0';
        t=(f2[i]-'0')/10;
        f2[i]=(f2[i]-'0')%10+'0';
    }
    f2[0]=i-1+'0';
}
int main()
{
    int n, i;
    FILE *fin=fopen("nunta.in", "r");
    ofstream fout("nunta.out");
    fscanf(fin, "%d", &n);
    a[0]='1', a[1]='1', b[0]='1', b[1]='2';
    for(i=3; i<=n; i++)
        if(i%2) add(b,a);
        else add(a,b);
    if(n%2)
    {
        for(i=a[0]-'0'; i>=1; i--)
            fout<<a[i];
    }
    else
    {
        for(i=b[0]-'0'; i>=1; i--)
            fout<<b[i];
    }
    return 0;
}