大数加法(减法)

1 加法-只支持正整数相加

a = [int(i) for i in list(input())]
b = [int(i) for i in list(input())]

max_len = max(len(a), len(b)) + 1

a = [0] * (max_len - len(a)) + a
b = [0] * (max_len - len(b)) + b

flag = 0
for i in range(len(a) - 1, -1, -1):
    temp = a[i] + b[i] + flag
    if temp > 9:
        temp -= 10
        flag = 1
    else:
        flag = 0
    a[i] = temp
a = [str(i) for i in a]
if a[0] == '0':
    print(''.join(a[1:]))
else:
    print(''.join(a))

2 减法-只支持a>=b

a = [int(i) for i in list(input())]
b = [int(i) for i in list(input())]

max_len = max(len(a), len(b))

a = [0] * (max_len - len(a)) + a
b = [0] * (max_len - len(b)) + b

for i in range(len(a) - 1, -1, -1):
    temp = a[i] - b[i]
    if temp < 0:
        for j in range(i - 1, -1, -1):

            if a[j] - 1 >= 0:
                a[j] = a[j] - 1
                break
            else:
                a[j] = 9
        temp = temp + 10
    a[i] = temp
a = ''.join([str(i) for i in a])
res = a.lstrip('0')

if len(res):
    print(res)
else:
    print('0')

3、 至于任意a+b,a,b可以为负整数可以分开讨论

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 12,950评论 0 13
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 7,647评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,148评论 0 10
  • 选择题部分 1.()部门负责日常监督检查工作,安全巡视的同时进行消防检查,推动消防安全制度的贯彻落实。 A: 消防...
    skystarwuwei阅读 15,793评论 0 3
  • 今天作业:种时间自由的种子 1,生活和工作中去发现哪些方面能节省别人时间,帮助别人节省时间。 今天杨姐预约好两点半...
    王书红主页阅读 1,267评论 0 1