pascal wikioi 3123 高精度练习之超大整数乘法 是超大的,不是普通的高精度乘法,求代码,wikioi 3123 高精度练习之超大整数乘法 Description 给出两个正整数A和B,计算A*B的值.保证A和B的位数不超过100000
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 23:15:52
![pascal wikioi 3123 高精度练习之超大整数乘法 是超大的,不是普通的高精度乘法,求代码,wikioi 3123 高精度练习之超大整数乘法 Description 给出两个正整数A和B,计算A*B的值.保证A和B的位数不超过100000](/uploads/image/z/3688490-2-0.jpg?t=pascal+wikioi+3123+%E9%AB%98%E7%B2%BE%E5%BA%A6%E7%BB%83%E4%B9%A0%E4%B9%8B%E8%B6%85%E5%A4%A7%E6%95%B4%E6%95%B0%E4%B9%98%E6%B3%95+%E6%98%AF%E8%B6%85%E5%A4%A7%E7%9A%84%2C%E4%B8%8D%E6%98%AF%E6%99%AE%E9%80%9A%E7%9A%84%E9%AB%98%E7%B2%BE%E5%BA%A6%E4%B9%98%E6%B3%95%2C%E6%B1%82%E4%BB%A3%E7%A0%81%2Cwikioi+3123+%E9%AB%98%E7%B2%BE%E5%BA%A6%E7%BB%83%E4%B9%A0%E4%B9%8B%E8%B6%85%E5%A4%A7%E6%95%B4%E6%95%B0%E4%B9%98%E6%B3%95+Description+%E7%BB%99%E5%87%BA%E4%B8%A4%E4%B8%AA%E6%AD%A3%E6%95%B4%E6%95%B0A%E5%92%8CB%2C%E8%AE%A1%E7%AE%97A%2AB%E7%9A%84%E5%80%BC.%E4%BF%9D%E8%AF%81A%E5%92%8CB%E7%9A%84%E4%BD%8D%E6%95%B0%E4%B8%8D%E8%B6%85%E8%BF%87100000)
pascal wikioi 3123 高精度练习之超大整数乘法 是超大的,不是普通的高精度乘法,求代码,wikioi 3123 高精度练习之超大整数乘法 Description 给出两个正整数A和B,计算A*B的值.保证A和B的位数不超过100000
pascal wikioi 3123 高精度练习之超大整数乘法 是超大的,不是普通的高精度乘法,求代码,
wikioi 3123 高精度练习之超大整数乘法 Description 给出两个正整数A和B,计算A*B的值.保证A和B的位数不超过100000位.输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Output Description 输出A*B的值 样例输入 Sample Input 4 9 样例输出Sample Output 36 数据范围及提示 Data Size & Hint 两个正整数的位数不超过100000位希望有高手来解答!
pascal wikioi 3123 高精度练习之超大整数乘法 是超大的,不是普通的高精度乘法,求代码,wikioi 3123 高精度练习之超大整数乘法 Description 给出两个正整数A和B,计算A*B的值.保证A和B的位数不超过100000
var i,j,la,lb,len,t:longint; ch:char;
a,b:array[1..100000] of longint;
c:array[1..200000] of longint;
begin
assign(input,'in.txt'); reset(input);
assign(output,'out.txt');rewrite(output);
i:=0;
repeat
inc(i); read(ch); a[i]:=ord(ch)-48;
until ch=' ';
dec(i); la:=i; j:=1;
while i>j do begin t:=a[i]; a[i]:=a[j]; a[j]:=t; inc(j); dec(i) end;
i:=0;
repeat
inc(i); read(ch); b[i]:=ord(ch)-48;
until chj do begin t:=b[i]; b[i]:=b[j]; b[j]:=t; inc(j); dec(i) end;
fillchar(c,sizeof(c),0);
for i:=1 to la do
begin
for j:=1 to lb do
begin
c[i+j-1]:=c[i+j-1]+a[i]*b[j];
inc(c[i+j],c[i+j-1] div 10);
c[i+j-1]:=c[i+j-1] mod 10;
end;
end;
len:=la+lb;
while c[len]>0 do
begin
c[len+1]:=c[len] div 10; c[len]:=c[len] mod 10; inc(len)
end;
dec(len);
for i:=len downto 1 do write(c[i]);
writeln;
close(input); close(output);
end .