Cod sursa(job #2062369)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 10 noiembrie 2017 12:02:46
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

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

void adunare_nr_mari(short int a[999], short int b[999])
{ short int i, rest=0;

  if (b[0]>a[0])
    { for (i=a[0]+1; i<=b[0]; ) a[i++]=0;
      a[0]=b[0]; }

  for (i=1;i<=a[0];i++)
    { a[i]+=b[i]+rest;
      rest=a[i]/10;
      a[i]%=10;
    }
  if (rest) a[++a[0]]=rest;
}

int main()
{
    short int a[999], b[999], c[999], i, N;
    f>>N;
    a[0]=1; a[1]=1;
    if (N==1) { g<<1; return 0; }
    b[0]=1; b[0]=2;
    if (N==2) { g<<2; return 0; }
    for (i=3; i<=N; i++) {
    adunare_nr_mari(a,b);
    for (i=0; i<=b[b[0]]; i++) c[i]=b[i];
    for (i=0; i<=a[a[0]]; i++) b[i]=a[i];
    for (i=0; i<=c[c[0]]; i++) a[i]=c[i]; }
    for (i=b[b[0]]; i>0; i--) g<<b[i];
    f.close();
    g.close();
    return 0;
}