题解 | #高精度整数加法#

高精度整数加法

http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

模拟手写加法

while True:
    try:
        str1=input()
        str2=input()
        la=len(str1)
        lb=len(str2)
        if la < lb:
            str1 = '0'*(lb-la)+str1
        else:
            str2 = '0'*(la-lb)+str2 # 完成补’0‘操作
        str1=list(str1)[::-1]
        str2=list(str2)[::-1]
        mysum=[]
        d=0
        for i in range(max(la,lb)):
            a=int(str1[i])
            b=int(str2[i])
            if a+b+d >=10 and i< max(la,lb)-1:
                mysum.append(str(a+b+d-10))
                d=1
            elif a+b+d < 10 and i< max(la,lb)-1:
                mysum.append(str(a+b+d))
                d=0
            elif a+b+d >=10 and i==max(la,lb)-1:
                mysum.append(str(a+b+d-10))
                mysum.append('1')
            elif a+b+d < 10 and i==max(la,lb)-1:
                mysum.append(str(a+b+d))
        print(''.join(mysum[::-1]))
    except:
        break
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务