Cod sursa(job #1908461)

Utilizator dragos03dragos popescu septimiu dragos03 Data 7 martie 2017 08:40:20
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <cstring>

using namespace std;
ifstream f("next.in");
ofstream g("next.out");
char a[1000001],b[1000002];
int n[1000002],d[1000002],nrcn,nrcd,nrcc,c[1000002],auxi[1000002];
int compara()
{
    if(nrcc>nrcn)
        return -1;
    else if(nrcc<nrcn)
        return 1;
    for(int i=nrcc; i>=1; i--)
        if(n[i]>c[i])
            return 1;
        else if(n[i]<c[i])
            return -1;
    return 0;
}

void adunsir()
{int poz=0;
for(int i=1;i<=nrcc;i++)
{auxi[i]=poz%10+(c[i]+d[i])%10;
poz=(poz/10)+(c[i]+d[i])/10;}
for(int i=1;i<=nrcc;i++)
c[i]=auxi[i];
while(poz)
{c[++nrcc]=poz%10;
poz=poz/10;}

}

int main()
{
    f>>a>>b;
    nrcn=strlen(a);
    nrcd=strlen(b);
    nrcc=nrcd;
    for(int i=0; i<nrcn; i++)
        n[nrcn-i]=a[i]-48;
    for(int i=0; i<nrcd; i++)
        {d[nrcn-i]=b[i]-48;
        c[nrcn-i]=d[nrcn-i];}
    while(compara()==1)
        {
            adunsir();
        }
    for(int i=1; i<=nrcc; i++)
        g<<c[i];





    return 0;
}