两数相加代码大数据
以下是实现两个大数相加的代码:
def addTwoNumbers(num1, num2):
n1 = len(num1)
n2 = len(num2)
# 将两个大数翻转,方便从个位开始相加
num1 = num1[::-1]
num2 = num2[::-1]
# 确定相加结果的最大长度
max_len = max(n1, n2)
result = []
carry = 0 # 进位
for i in range(max_len):
digit_sum = carry # 初始化为进位
if i < n1:
digit_sum += int(num1[i])
if i < n2:
digit_sum += int(num2[i])
# 计算当前位的结果和进位
result.append(str(digit_sum % 10))
carry = digit_sum // 10
# 如果最高位有进位,需要加上
if carry > 0:
result.append(str(carry))
# 将结果翻转回来
result = result[::-1]
return ''.join(result)
这段代码实现了将两个大数相加的功能,支持任意长度的大数相加。其中,num1和num2分别是两个大数的字符串表示形式,函数返回它们的和的字符串表示形式。
注意,这里的大数相加是指两个非负整数的相加。如果要支持负数的相加,可以在代码中加入相应的判断和处理
原文地址: https://www.cveoy.top/t/topic/ihdT 著作权归作者所有。请勿转载和采集!