Pagini recente » Cod sursa (job #1734526) | Cod sursa (job #2859500) | Cod sursa (job #1580673) | Cod sursa (job #2601737) | Cod sursa (job #1908461)
#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;
}