牛客网刷题记录:
题目描述
有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。
输入描述:
空格分隔的两个字符串,代表输入的两个大整数
输出描述:
输入的乘积,用字符串表示
示例1
输入
复制
72106547548473106236 982161082972751393
输出
复制
70820244829634538040848656466105986748
解决方案:
import sys line=sys.stdin.readline() line=line.strip().split() array0=[] array1=[] summ=[] for i in line[0]: array0.append(int(i)) for i in line[1]: array1.append(int(i)) if len(array0)>=len(array1): sum0=int(line[0]) array1.reverse() for i in range(len(array1)): zero='0'*i num0=sum0*array1[i] num0=str(num0)+zero summ.append(int(num0)) else: sum1 = int(line[1]) array0.reverse() for i in range(len(array0)): zero = '0' * i num0 = sum1 * array0[i] num0 = str(num0) + zero summ.append(int(num0)) print(str(sum(summ)))