Multiplicação recursiva em Python
Este tutorial irá introduzir a multiplicação de inteiros com recursão em Python.
Recursão é uma técnica que usa uma função que se auto-chama uma ou mais vezes até que uma condição base seja satisfeita, momento em que o resto da repetição é processado da última chamada para a primeira. A recursão é amplamente utilizada em programação para resolver problemas complexos onde a solução depende das soluções para instâncias menores do mesmo problema.
Multiplicação recursiva em Python
A multiplicação de um número é a adição repetida. A multiplicação recursiva adicionaria repetidamente o maior número dos dois números, (x,y)
a si mesma até obtermos o produto necessário.
Suponha que x >= y
. Então podemos adicionar recursivamente x
a si mesmo y
vezes. Nesse caso, você adiciona recursivamente 3 a si mesmo duas vezes.
def multiply(x, y):
if y == 0:
return 0
elif y < 0:
return -(x - multiply(x, y + 1))
else:
return x + multiply(x, y - 1)
if __name__ == "__main__":
print("3 * 2 = ", multiply(3, 2))
print("3 * (-2) = ", multiply(3, -2))
print("(-3) * 2 = ", multiply(-3, 2))
print("(-3) * (-2)= ", multiply(-3, -2))
Resultado:
3 * 2 = 6
3 * (-2) = -6
(-3) * 2 = -6
(-3) * (-2)= 6