Tính Tổng - Bài Tập Pascal Tổng Hợp

Tính Tổng

 Tính tổng

Cho hai số nguyên dương M và N, M có p chữ số và N có q chữ số.
Yêu cầu: Tính tổng của hai số M và N.
Dữ liệu vào: Cho trong file văn bản TONG.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương p là số lượng chữ số của M (1 ≤ p ≤ 30000).
- Dòng 2: Ghi p chữ số của M theo thứ tự từ trái sang phải, các chữ số được ghi cách nhau ít nhất một dấu cách.
- Dòng 3: Ghi số nguyên dương q là số lượng chữ số của N (1 ≤ q ≤ 30000).
- Dòng 4: Ghi q chữ số của N theo thứ tự từ trái sang phải, các chữ số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản TONG.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương k là số lượng chữ số của tổng tìm được.
- Dòng 2: Ghi k chữ số của tổng tìm được theo thứ tự từ trái sang phải, các chữ số được ghi cách nhau ít nhất một dấu cách.

Ví dụ:
TONG.INP
TONG.OUT
6
2 2 3 2 3 9
3
2 4 7
6
2 2 3 4 8 6
(Có 85% số test với p, q 20000; 15% số test với p, q >20000 ).
var i,j,code:longint;
m,n,k:qword;
p,q:string;
S,S1,S2,St,S3:string;
f1,f2:text;
{--------------------------------------------------------}
procedure nhapso;
begin
readln(f1,p);
readln(f1,S);
S1:='';S2:='';
for i:=1 to length(S) do
if S[i] <> #32 then S1:=S1+ S[i];
val(S1,m,code);
readln(f1,q);
readln(f1,St);
for j:=1 to length(St) do
if St[j] <> #32 then S2:=S2+St[j];
val(S2,n);
k:= n + m;
str(k,S3);
writeln(f2,length(S3));
for i:=1 to length(S3) do write(f2,S3[i],' ');
close(f1);close(f2);
end;
{--------------------------------------------------------}
procedure motep;
begin
assign(f1,'tinhtong.inp');reset(f1);
assign(f2,'tinhtong.out');rewrite(f2);
end;
{--------------------------------------------------------}
begin
motep;
nhapso;

end.
Previous
Next Post »