字符串相乘

注意:无论使用哪种方法,都要记得逆置乘数

法一.模拟乘法

tmp 用于存储某一位和上面字符串的乘积,每乘一次,就把tmp里的结果向res累加一次。

但代码写起来相当坐牢,优化一下。

法二.不进位乘法

根本思想跟普通列竖式一样,只是把进位留到最后一步进行。

①.储存乘积

为了方便运算,要先把两个乘数逆序

存储这些未进位的积的,应当是一个int类型的数组tmp ,如果用字符串来存,没办法用一位存一个大于10的数。此时应注意数组的长度是m + n - 1,注:m,n均为乘数位数。

两个乘数的下标相加,确定积的下标。当两个积的下标相同时,在数组该位置上对两个积进行累加。

②.处理进位

③.处理前导0

会出现有一位为0的极端情况,这时候乘积只用保留一个0就行了

尾删直至只剩1个0

④.再反转

相关推荐
j_xxx404_2 小时前
LeetCode模拟算法精解II:外观数列与数青蛙
数据结构·c++·算法·leetcode
得物技术2 小时前
大禹平台:流批一体离线Dump平台的设计与应用|得物技术
java·后端·算法
2301_793804692 小时前
C++与硬件交互编程
开发语言·c++·算法
像污秽一样2 小时前
算法设计与分析-习题9.2
数据结构·算法·排序算法·dfs
仟濹2 小时前
【算法打卡day26(2026-03-18 周三)今日算法:「回溯算法」& 蓝桥杯真题(简单题型)】7个
算法·蓝桥杯
C蔡博士2 小时前
计算复杂性:P、NP、NP-hard、NP-complete 一篇通关
算法·计算理论·np问题·计算复杂性
add45a2 小时前
C++与自动驾驶系统
开发语言·c++·算法
TsukasaNZ2 小时前
C++中的命令模式
开发语言·c++·算法
superkcl20222 小时前
指针常量有什么用呢?
开发语言·c++·算法