两个大数相加。
1、是整数;
2、两个数无限大,long都装不下;
3、不能用BigInteger;
4、不能用任何包装类提供的运算方法;
5、两个数都是以字符串的方式提供。
面试答卷直接写下,此处空白位置太小,写不下,请求机试。果然给我一台应该是 爬虫工程师的笔记本,这公司伺候的还挺周到的...,然后一顿操作
#
# encoding: utf-8
# author:mengdj@outlook.com
#
def calc_complex_add(m, s):
# 断言类型
assert m.isalnum() and s.isalnum()
min_size = len(m)
max_ele = m
if min_size > len(s):
min_size = len(s)
else:
max_ele = s
loop_cur_index = -1
loop_prev_val = 0
# 计算最终结果backup
min_size_loop = min_size
calc_complex_data = list()
while min_size_loop > 0:
tmp_val = int(m[loop_cur_index]) + int(s[loop_cur_index])
if loop_prev_val != 0:
tmp_val += loop_prev_val
loop_prev_val = 0
if tmp_val >= 10: