Python での再帰的乗算
Fumbani Banda
2021年12月4日
Python
Python Math

このチュートリアルでは、Python で再帰を使用した整数の乗算を紹介します。
再帰は、基本条件が満たされるまで 1 回以上自分自身を呼び出す関数を使用する手法です。基本条件が満たされると、残りの繰り返しは最後に呼び出されたものから最初に呼び出されたものまで処理されます。再帰は、ソリューションが同じ問題のより小さなインスタンスのソリューションに依存する複雑な問題を解決するためのプログラミングで広く使用されています。
Python での再帰的乗算
数の掛け算は繰り返し足し算です。再帰的な乗算では、必要な積が得られるまで、2つの数値の大きい方の (x,y)
が繰り返し加算されます。
x >= y
と仮定します。次に、x
をそれ自体に y
回再帰的に追加できます。この場合、3 を自分自身に 2 回再帰的に追加します。
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))
出力:
3 * 2 = 6
3 * (-2) = -6
(-3) * 2 = -6
(-3) * (-2)= 6
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Fumbani Banda