以下是实现两个大数相加的代码:

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)

这段代码实现了将两个大数相加的功能,支持任意长度的大数相加。其中,num1num2分别是两个大数的字符串表示形式,函数返回它们的和的字符串表示形式。

注意,这里的大数相加是指两个非负整数的相加。如果要支持负数的相加,可以在代码中加入相应的判断和处理

两数相加代码大数据

原文地址: https://www.cveoy.top/t/topic/ihdT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录