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

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6?tpId=37&tags=&title=&difficulty=3&judgeStatus=3&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&gioEnter=menu&dayCountBigMember=365%E5%A4%A9

import sys
s1 = input()
s2 = input()
max1 = max(len(s1),len(s2))
s1 = (s1.zfill(max1))[::-1]
s2 = (s2.zfill(max1))[::-1]
end = ''
temp = '0'
for i in range(max1):
    a = int(s1[i])
    b = int(s2[i])
    c = int(temp)
    if a+b+c<10:
        end+=str(a+b+c)
        temp = '0'
    else:
        end+=str(a+b+c)[-1]
        temp = str(a+b+c)[0]
else:
    if temp !='0':
        end+=temp
print(end[::-1])


用max1存储最长的数的长度,将短的用zfill补0然后倒序,然后逐位相加如果超过9用一个字符储存超过的下次求和时加上最后检测一下最后一次有没有超过超过就进位1,最后倒序输出

全部评论

相关推荐

10-20 16:50
门头沟学院 Java
牛客68421677...:同是天涯沦落人啊,我也是26届0实习,不知道怎么办了
点赞 评论 收藏
分享
牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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