Blahhh
unknown
python
2 years ago
867 B
8
Indexable
def multiply_large_numbers(num1, num2):
result = [0] * (len(str(num1)) + len(str(num2)))
num1_str = str(abs(num1))
num2_str = str(abs(num2))
for i in range(len(num1_str) - 1, -1, -1):
carry = 0
n1 = int(num1_str[i])
for j in range(len(num2_str) - 1, -1, -1):
n2 = int(num2_str[j])
temp_sum = (n1 * n2) + result[i + j + 1] + carry
carry = temp_sum // 10
result[i + j + 1] = temp_sum % 10
result[i] += carry
result_str = "".join(map(str, result))
if num1 < 0 and num2 > 0 or num1 > 0 and num2 < 0:
result_str = "-" + result_str
return int(result_str)
# Testcase 1
result1 = multiply_large_numbers(-45952456856498465985, -98654651986546519856)
print(result1)
# Testcase 2
result2 = multiply_large_numbers(8516, -82147953548159344)
print(result2)
Editor is loading...