Python での再帰的乗算

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

このチュートリアルでは、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
著者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

関連記事 - Python Math