Pythonコードのテスト-再帰
6469 ワード
復帰する
『プログラマーハイスコアキット』
<工場>
工場5!5 4 3...1で停止するため、再帰関数の終了条件で1未満を宣言します.そうでない場合は積を返します.
<フィボナッチ数5>
「現在のフィボナッチ数は前フィボナッチ数と前フィボナッチ数である」という論理はそのままf(n)=f(n-1)+f(-2)に移行し、return f(n-1)+f(n-2)となる.
<例外の場合>0番面数と1番面数は既知の場合から始まるので、n=0,n=1の条件を予め与えなければならない.
<雹の木>
今の公式はいつも本当の仮定の下で、それぞれ更に貴重です.最後にnum=1であれば、すぐに終わります!
『プログラマーハイスコアキット』
<工場>
def fact(n):
if(n<=1):
return 1
else:
return n*fact(n-1)
#
num=int(input())
result=fact(num)
print(result)
<解説>工場5!5 4 3...1で停止するため、再帰関数の終了条件で1未満を宣言します.そうでない場合は積を返します.
<フィボナッチ数5>
def fibo(n):
if(n==0):
return 0;
elif(n==1):
return 1
else:
return fibo(n-1)+fibo(n-2)
num=int(input())
print(fibo(num))
<解説>「現在のフィボナッチ数は前フィボナッチ数と前フィボナッチ数である」という論理はそのままf(n)=f(n-1)+f(-2)に移行し、return f(n-1)+f(n-2)となる.
<例外の場合>0番面数と1番面数は既知の場合から始まるので、n=0,n=1の条件を予め与えなければならない.
<雹の木>
def ob(num):
if(num==1):
print(int(num))
return
elif(num%2==0):
print(int(num))
ob(num/2)
else:
print(int(num))
ob(3*num+1)
#
num=int(input())
ob(num)
<解説>今の公式はいつも本当の仮定の下で、それぞれ更に貴重です.最後にnum=1であれば、すぐに終わります!
Reference
この問題について(Pythonコードのテスト-再帰), 我々は、より多くの情報をここで見つけました https://velog.io/@tjwjdgus83/Python-코딩테스트-재귀テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol