from random import randint
def Mul(str1,str2):
num1 = list(map(int, reversed(str1)))
num2 = list(map(int, reversed(str2)))
res = [0]*(len(num1)+len(num2))
for index2, val2 in enumerate(num2):
carry = 0
for index1,val1 in enumerate(num1):
cur_res = val2*val1
carry, res[index1+index2] = divmod((cur_res+carry+res[index1+index2]),10)
res[index1+index2+1] = carry
result = int(''.join(map(str,reversed(res))))
return result
def Add(str1, str2):
num1 = list(map(int, reversed(str1)))
num2 = list(map(int, reversed(str2)))
res_len = max(len(num1),len(num2))+1
if len(num1) < res_len-1:
num1.extend([0]*(res_len-1-len(num1)))
elif len(num2) <res_len-1:
num2.extend([0]*(res_len-1-len(num2)))
res = [0] * (max(len(num1),len(num2))+1)
carray = 0
for index,val in enumerate(num1):
carray, res[index] = divmod((num1[index]+num2[index]+carray),10)
res[index+1] += carray
result = int(''.join(map(str, reversed(res))))
return result
for i in range(1000):
a = str(randint(1, 1000000000))
b = str(randint(1, 10000))
r = Add(a, b)
if r != int(a)+int(b):