运算进位 | HJ57 高精度整数加法

# 最优解1:Python支持大整数求和
while True:
    try:
        n1 = int(input())
        n2 = int(input())
        print(n1+n2)        # 直接输出整型数字相加之和的结果
    except:
        break

# 最优解2
while True:
    try:
        s1 = list(map(int, input()))[::-1]
        s2 = list(map(int, input()))[::-1]
        res = ""
        i = 0                                    # 遍历指针
        addd = 0                                 # 进位
        summ = 0                                 # 和
        while i < max(len(s1), len(s2)):         # 开始遍历
            a = 0 if i >= len(s1) else s1[i]     # 获取s1中的一位数字
            b = 0 if i >= len(s2) else s2[i]     # 获取s2中的一位数字
            summ = (addd + a + b) % 10           # 计算和
            addd = (addd + a + b) // 10          # 计算进位
            res = str(summ) + res                # 组织到输出字符串中
            i += 1
        if addd > 0:                             # 处理最后一位
            res = "1" + res
        print(res)                               # 输出
    except:
        break

# 我的代码
while True:
    try:
        n1 = input()
        n2 = input()
        n1, n2 = (n2, n1) if len(n2)<len(n1) else (n1, n2)
        u = [0]*(len(n2)+1)
        i = -1
        res = ''
        while i >= -len(n1):
            s = int(n1[i]) + int(n2[i]) + u[i]
            if s > 9:
                u[i-1] = s // 10
                s %= 10
            res += str(s)
            i -= 1
        while i >= -len(n2):
            s = int(n2[i]) + u[i]
            if s > 9:
                u[i-1] = s // 10
                s %= 10
            res += str(s)
            i -= 1
        if u[i] != 0:
            res += str(u[i])
        print(res[::-1])
    except:
        break

用时:35min

华为笔试刷题 文章被收录于专栏

高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107

全部评论

相关推荐

10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
||&nbsp;先说下主播个人情况:211本,暑期实习之前有过一段中大厂的后端实习,暑期拿过腾讯的实习offer,综合考虑业务和语言最终去了美团。实习期间体感还是不错的,5月初去的,去了就一直急着要需求做,担心因为没有产出导致转正失败,在第二个星期就和mt透露我希望能够留用。虽然第一个由于美团新人landing的友好性基本没做什么需求,但是后面也写出了小2w行的代码量(不包含单测)。中期经常主动加班赶需求,经常持续一两个星期加班到10点甚至更后面。mt对我确实不错,也是言传身教,实习期间给我讲了很多关于单测,ddd,set化等的理解,也是受益匪浅,此外在做需求的时候,也能看出把比较有含金量的部分交给我做...
菜菜菜小白菜菜菜:我在字节实习了四个月,有转正的压力所以周末大部分也在公司自学,也是因为一些原因转正拖的很久,这个点还没答辩,过段时间才回去答辩。整个不确定性的焦虑贯穿了我的秋招三个月,我也曾经犹豫过是不是应该放弃转正走秋招更快,最后因为沉没成本一直舍不得放弃,前前后后七个月真的挺累的,尤其是没有来字节实习的同学已经校招拿到意向时更加焦虑。这段时间也跟mentor聊了很多次,他告诉我未来工作上或者生活上,比这些更头疼的事情会更多,关键还是要调整好自己的心态。转正没有通过从过程上来看其实跟你自身没太大的关系,拖了三个月不出结果显然是ld的问题,并且今年美团最近的开奖大家似乎都不是很乐观,所以不去也罢。我在字节实习的时候,6月份有一个赶上春招末期的25届同事刚面进来,也拿到了小sp的薪水。不要对这件事有太大的压力,时代的问题罢了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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