Cod sursa(job #38934)

Utilizator mihai0110Bivol Mihai mihai0110 Data 26 martie 2007 11:42:59
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream.h>
ifstream f("next.in");
ofstream g("next.out");
short int aux,t,t1,a[200000],b[17],c[200000];
char k;
long i,n,m;
void add()
{
int i, t = 0;
for (i=1; i<=m || i<=b[0] || t; i++, t/=10)
c[i] = (t += c[i] + b[i]) % 10;
m = i - 1;
}
int comparare()
{
long i;
if(m>n)
return 1;
if(m==n)
for(i=m;i>=1;i--)
{
if(c[i]>a[i])
return 1;
if(c[i]<a[i])
return 0;
}
if(m<n)
return 0;

return 1;
}
int main()
{
f.get(k);
while(k!='\n')
{
n++;
a[n]=k-'0';
f.get(k);
}
f.get(k);
while(k!='\n')
{
b[0]++;
b[b[0]]=k-'0';
f.get(k);
}
for(i=1;i<=n/2;i++)
{
aux=a[i];
a[i]=a[n-i+1];
a[n-i+1]=aux;
}
for(i=1;i<=b[0]/2;i++)
{
aux=b[i];
b[i]=b[b[0]-i+1];
b[b[0]-i+1]=aux;
}
i=i;
for(i=0;i<=b[0];i++)
c[i]=b[i];
m=c[0];
while (comparare()==0)
add();
for(i=m;i>=1;i--)
g<<c[i];
g<<'\n';
f.close();
g.close();
return 0;
}