Cod sursa(job #2021121)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 12 septembrie 2017 18:37:36
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <cstdio>

using namespace std;
int v[2][1000];
void adun (int s){
    int i,t=0,pls;
    for (i=1;i<=v[s][0];i++){
        v[s][i]+=v[1-s][i]+t;
        t=v[s][i]/10;
        v[s][i]%=10;
    }
    pls=0;
    for (i=v[s][0]+1;i<=v[1-s][0];i++){
        v[s][i]=v[1-s][i]+t;
        t=v[s][i]/10;
        v[s][i]%=10;
        pls++;
    }
    v[s][0]+=pls;
    while (t>0){
        v[s][0]++;
        v[s][v[s][0]]=t%10;
        t/=10;
    }
}
int main()
{
    FILE *fin=fopen ("nunta.in","r");
    FILE *fout=fopen ("nunta.out","w");
    int n,i,t;
    fscanf (fin,"%d",&n);
    if (n<=2){
        fprintf (fout,"%d",n);
        return 0;
    }
    v[0][0]=v[0][1]=1;
    v[1][0]=1;
    v[1][1]=2;
    t=0;
    for (i=3;i<=n;i++){
        adun (t);
        t=1-t;
    }
    t=1-t;
    for (i=v[t][0];i>0;i--)
        fprintf (fout,"%d",v[t][i]);
    return 0;
}