#T0085. 大整数乘法
0
大整数乘法
题目描述
给定两个非负大整数 A、B,求它们的乘积 A × B 的准确值。
由于这两个整数可能很大,普通的整型变量无法存下,需要用数组模拟竖式乘法来完成计算。
输入格式
输入共两行,每行一个非负整数:
- 第一行:整数 A;
- 第二行:整数 B。
输入数据不含前导零(数字 0 单独以一个 0 表示)。
输出格式
输出一行,为 A × B 的准确结果,同样不含前导零。
样例输入 #1
123
456
样例输出 #1
56088
样例输入 #2
12345678901234
5678901234567
样例输出 #2
70109891153785526659755678
数据范围与约定
- A、B 的位数均满足 1 ≤ 位数 ≤ 2000;
- A、B 均为非负整数,无前导零;
- 乘积最长可达约 4000 位。
提示
- 可以把大整数的每一位(或每几位)存入数组,模拟平时手算的竖式乘法:用一个数的每一块去乘另一个数的每一块,把结果累加到对应的位置上。
- 乘的过程中可以先只管累加、暂不处理进位,等所有块两两乘完后,再从低位到高位统一进位。
- 为了减少运算次数,可以让数组的一个元素存放多位十进制数字(例如每 4 位存在一个元素中,逢 10000 进一);输出时注意除最高块外,其余每块都要补足前导零。
- 特别留意乘数为 0 的情况,结果应直接输出一个
0。
冀公网安备13098402000493号