Witam,
Mam następujący problem: muszę stworzyć program(mnożenie pisemne "w słupkach"), który pomnoży 2 podane przez użytkownika liczby w systemie, który użytkownik poda wcześniej. Mniejsze liczby typu 5*5 udaję mi się wymnożyć poprawnie natomiast przy większych(2 cyfrowych+) program wyświetla niepoprawną liczbę. Zastanawiam się co w tym kodzie jest nie tak i dalej nie mogę dojść do sensownego i działającego rozwiązania.
def mnozenie(podstawa, a, b):
h = int(b)
b = a
for j in range(h-1):
p = 0
c = ''
n = max(len(a), len(b))
for i in range(n):
ai = a[i] if i < len(a) else 0
bi = b[i] if i < len(b) else 0
d = int(ai) + int(bi) + p
c = c + str(d % podstawa)
p = d//podstawa
if p > 0:
c = c + str(p)
b = c
c = c [::-1]
print("Iloraz: ", c )
def main(args):
podstawa = int(input("Podaj podstawę: "))
a = input("Podaj liczbę: ")[::-1]
b = input("Podaj liczbę: ")[::-1]
mnozenie(podstawa, a, b)