You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于最低位优先数字列表的无限精度iadd加法函数实现思路求教

无限精度加法函数iadd实现思路

核心逻辑完全模拟人工竖式加法的计算规则,刚好你的存储格式是最低位在前,不需要额外反转列表就能直接从左到右按位计算:

  • 初始化三个变量:
    • 进位carry,初始值为0
    • 结果列表res,初始为空
    • 遍历下标i,初始值为0
  • 循环执行直到同时满足三个条件:i >= len(I)、i >= len(J)、carry == 0
    每轮循环执行以下操作:
    1. 取I的当前位数字:如果i < len(I)则取I[i],否则取0
    2. 取J的当前位数字:如果i < len(J)则取J[i],否则取0
    3. 计算当前位总和:total = I当前位 + J当前位 + carry
    4. 当前位结果为total % 10,追加到res末尾
    5. 更新进位为total // 10
    6. 下标i加1
  • 最后做边界处理:题目规定0用空列表表示,因此如果最终res的所有元素之和为0(即计算结果是0,此时res为[0]),直接返回空列表[],否则返回res即可

验证示例

比如计算999 + 2,对应输入I = [9,9,9]、J = [2]:

  1. i=0:total = 9+2+0=11 → res追加1,carry=1 → res=[1]
  2. i=1:total=9+0+1=10 → res追加0,carry=1 → res=[1,0]
  3. i=2:total=9+0+1=10 → res追加0,carry=1 → res=[1,0,0]
  4. i=3:total=0+0+1=1 → res追加1,carry=0 → res=[1,0,0,1]
  5. 循环结束,返回结果对应十进制1001,符合预期

内容的提问来源于stack exchange,提问作者chas108

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:06:05