高精度——A*B Problem

本文探讨了洛谷P1303题目——A*B Problem,主要聚焦于如何进行高精度乘法计算。通过对题目的分析,阐述了解决这类问题的关键策略和算法实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

洛谷 P1303 A*B Problem
题目描述
求两数的积。

分析
高精乘

var
 s1,s2:ansistring;
 a,b,c:array[0..100000]of longint;
 i,j:longint;
begin
  readln(s1);
  readln(s2);
  a[0]:=length(s1);
  b[0]:=length(s2);
  for i:=a[0] downto 1 do val(s1[i],a[a[0]-i+1]);
  for i:=b[0] downto 1 do val(s2[i],b[b[0]-i+1]);
  for i:=1 to a[0] do
   for j:=1 to b[0] do
    begin
      c[i+j-1]:=a[i]*b[j]+c[i+j-1];
      c[i+j]:=c[i+j]+c[i+j-1]div 10;
      c[i+j-1]:=c[i+j-1]mod 10;
    end;
  if ((s1[1]='-')or(s2[1]='-'))and((s1[1]<>'-')or(s2[1]<>'-'))and(c[i+j-1]<>0)then write('-');
  c[0]:=a[0]+b[0];
  for i:=a[0]+b[0] downto 2 do if c[i]=0 then dec(c[0]) else break;
  for i:=c[0] downto 1 do write(c[i]);
end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值