Cod sursa(job #1413412)

Utilizator vladbatalanBatalan Vlad vladbatalan Data 1 aprilie 2015 20:56:26
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
int n,a=3,b=1,c=2,aux;
char s[4][1400];
void sum()
{
    int rest=0,mare;
    for(int j=0;j<=strlen(s[b])-1;j++)
    {
        if(j<=strlen(s[a])-1)
        {
            s[c][j]=(((s[a][j]-'0')+(s[b][j]-'0')+rest)%10)+'0';
            rest=((s[a][j]-'0')+(s[b][j]-'0')+rest)/10;
        }
        else
        {
            s[c][j]=(s[b][j]-'0'+rest)%10+'0';
            rest=((s[b][j]-'0')+rest)/10;
        }
    }
    if(rest>0)
        s[c][strlen(s[b])]=rest+'0';
}
int main()
{
    fin>>n;
    if(n<=2)
        fout<<n;
    else
    {
        s[1][0]='1';
        s[2][0]='2';
        for(int i=3;i<=n;i++)
        {
            aux=a;
            a=b;
            b=c;
            c=aux;
            sum();
        }
        for(int i=strlen(s[c])-1;i>=0;i--)
            fout<<s[c][i];
    }


    return 0;
}