题目描述
求两数的积。
输入输出格式
输入格式:
两个数
输出格式:
积
输入输出样例
输入样例#1:
1
2
输出样例#1:
2
注意:在相乘时不用判断进位,在后面及循环进位。
代码如下:
var i,x,y,j,z:integer;
m,n:ansistring;
a,b,c:array[1..10000] of int64;
begin
for i:=1 to 10000 do c[i]:=0;
readln(m);
read(n);
x:=length(m);
y:=length(n);
for i:=1 to x do a[i]:=ord(m[x+1-i])-48;
for i:=1 to y do b[i]:=ord(n[y+1-i])-48;
for i:=(x+1) to 10000 do a[i]:=0;
for i:=(y+1) to 10000 do b[i]:=0;
for i:=1 to y do
for j:=1 to x do
c[i-1+j]:=c[i-1+j]+a[j]*b[i];
for i:=1 to 10000 do
if c[i]>9 then
while c[i]>9 do
begin
c[i+1]:=c[i+1]+c[i] div 10;
c[i]:=c[i] mod 10;
end;
for i:=10000 downto 1 do if c[i]<>0 then break;
for j:=i downto 1 do write(c[j]);
readln;
end.