I Made a program to multiply two large numbers but did,nt get expected result
When I Use My Program Result("1131231231231231232132176453243264237453265745327432747324575342321321321324234234324234243242343213","3242342342342342343243212341234")
I Got 3667838920001082329580291288441145791080382201626879559138562006502209700363203527339095217292763913228365618564468855268114011142
But When I Directly multiply these numbers in python i get 1131231231231231232132176453243264237453265745327432747324575342321321321324234234324234243242343213 * 3242342342342342343243212341234
3667838920001082167184590525973693204469083965208483826796404950051845708090751087384204216926015556670850912511772595077899944842
Both are Different.
def Result(val1,val2):
array = []
offset = "1"
for x in range(len(val1)-1,-1,-1):
result = MultiplyTwoNum(val1[x], val2)
result = MultiplyTwoNum(offset, result)
offset = MultiplyTwoNum("10", offset)
array.append(result)
#print(result)
return array
def MultiplyTwoNum(VAL1,VAL2):
Val1Int = int(VAL1)
#print(Val1Int)
ValResult = ""
ValCarry = 0
FinalResult = ""
for i in range(len(VAL2)-1,-1,-1):
Val2Int = int(VAL2[i])
ValResult = (Val1Int * Val2Int)+ValCarry
ValLeftValue = ValResult%10
ValCarry = int(ValResult/10)
FinalResult = str(ValLeftValue) + FinalResult
if i == 0:
FinalResult = str(ValCarry) + FinalResult
return FinalResult
num = Result(Num1,Num2)
r = 0
for i in num:
r = r + num
print(r)