Cod sursa(job #124609)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 19 ianuarie 2008 17:34:40
Problema A+B Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.32 kb
program adunb;
var f,g:text;
    a,b:array[1..1000] of integer;
    aux,j,n,nb:longint;
    c:char;
    i:integer;
begin
assign(f,'adunare.in');
assign(g,'adunare.out');
reset(f);
rewrite(g);n:=0;
while not eoln(f) do
begin
n:=n+1;
read(f,c);
val(c,a[n],i);
end;
readln(f);
nb:=0;
while not eoln(f)do
begin
nb:=nb+1;
read(f,c);
val(c,b[nb],i);
end;

if n>=nb then
begin
for i:=1 to n div 2 do
begin
aux:=a[i];
a[i]:=a[n+1-i];
a[n+1-i]:=aux;
end;
for i:=nb downto 1 do
a[nb+1-i]:=a[nb+1-i]+b[i];
for i:=1 to n do
if a[i]>=10 then
begin
aux:=a[i];
a[i]:=aux mod 10;
a[i+1]:=a[i+1]+aux div 10;
end;
if a[n+1]>=10 then
begin
i:=n+1;
while a[i]>=10 do
begin
n:=n+1;
a[i+1]:=a[i+1]+a[i] div 10;
a[i]:=a[i] mod 10;
end;
end;
if a[n+1]<>0 then
n:=n+1;
for i:=n downto 1 do
write(g,a[i]);
end else

if nb>n then
begin
for i:=1 to nb div 2 do
begin
aux:=b[i];
b[i]:=b[nb+1-i];
b[nb+1-i]:=aux;
end;
for i:=n downto 1 do
b[n+1-i]:=b[n+1-i]+a[i];
for i:=1 to nb do
if b[i]>=10 then
begin
aux:=b[i];
b[i]:=aux mod 10;
b[i+1]:=b[i+1]+aux div 10;
end;
if b[nb+1]>=10 then
begin
i:=nb+1;
while b[i]>=10 do
begin
nb:=nb+1;
b[i+1]:=b[i+1]+b[i] div 10;
b[i]:=b[i] mod 10;
end;
end;
if b[nb+1]<>0 then
nb:=nb+1;
for i:=nb downto 1 do
write(g,b[i]);

end;
close(f);
closE(g);


end.