私たちは*(または別の乗算形式)を使用せずに、整数(n、m)に掛け合わなければならないPythonのプログラミングクラスの宿題です。私たちはこの問題を解決するために再帰を使うことになっているので、mをn回追加してみました。私は自分の問題は再帰自体を使用することだと思う。私は、インターネット上で再帰の使用法を検索しましたが、結果はありません。ここに私のコードです。誰かが私を正しい方向に向けることができますか?再帰を使用して*記号なしで乗算するにはどうすればよいですか?
def mult(n,m):
""" mult outputs the product of two integers n and m
input: any numbers
"""
if m > 0:
return n + n
return m - 1
else:
return 1
ヒント:通常、再帰はコードパスの少なくとも一つに_itself_関数呼び出しを必要とします。 – mgilson
基本ケースと再帰ケースの観点から乗算を定義しようとします。再帰的な場合は 'n + mult(n、m - 1)'なので、 'n'は' n 'と ' m'から1を引いたものです。 –
[Pythonでの再帰関数の構築](http://stackoverflow.com/questions/479343/how-can-i-build-a-recursive-function-in-python)またはそのリンクされた質問[Pythonでの再帰の基礎](0120-18753)。 – JGreenwell