アルゴリズム
973 ワード
再帰的な使い方
再帰呼び出し
再帰的な使い方は簡単に言えば工場化です.関数の戻り値は関数です.
5! = 5 x 4 x 3 x 2 x 1
6! = 6 x 5 x 3 x 2 x 1 = 6 x 5! = 6 x 5 x 4!
n! = n x (n-1) x (n-2) x (n-3)! = n x (n-1)!
これをコードで次のように表現します.def reCal(num):
if num <= 1:
return 1
return num * reCal(num-1)
このように関数に戻る関数は再帰的な使い方であり,各関数はスタックのように積み重ねられ,順次値を返すと計算が完了する.
スタックのように戻り値をスタックする場合は、スタック順に演算して戻ります.
再帰的用法を用いた返信チェック
再帰的な使用法を使用して返信チェックを行う例を作成します(返信逆読みも同じです:スイス雁)def checkRev(data):
if len(data) <= 1:
return True
if data[0] == data[-1]:
return checkRev(data[1:-1])
else:
return False
再帰的な使い方のコードには似たようなパターンがあります。
def reCal(num):
if num <= 1:
return 1
return num * reCal(num-1)
Reference
この問題について(アルゴリズム), 我々は、より多くの情報をここで見つけました
https://velog.io/@hyundong_kk/알고리즘재귀-용법
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def reCal(num):
if num <= 1:
return 1
return num * reCal(num-1)
def checkRev(data):
if len(data) <= 1:
return True
if data[0] == data[-1]:
return checkRev(data[1:-1])
else:
return False
def reCal(num):
if num <= 1:
return 1
return num * reCal(num-1)
Reference
この問題について(アルゴリズム), 我々は、より多くの情報をここで見つけました https://velog.io/@hyundong_kk/알고리즘재귀-용법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol