[白俊]2003回フィボナッチ関数-Python
5151 ワード
質問する
次のソースはN番目のフィボナッチ数を求めるC++関数である.
int fibonacci(int n) {
if (n == 0) {
printf("0");
return 0;
} else if (n == 1) {
printf("1");
return 1;
} else {
return fibonacci(n‐1) + fibonacci(n‐2);
}
}
fibonacci(3)を呼び出すと、次のことが起こります.入力
第1行は、試験例の個数Tを与える.
各試験例は1行からなり、Nが与えられる.Nは40以下の自然数または0である.
しゅつりょく
各試験例の出力0の回数と出力1の回数は、スペースで区切られている.
サンプルI/O
解答方法
f0 = [1, 0, 1]
f1 = [0, 1, 1]
def fibonacci(N) :
length = len(f0)
if length <= N :
for i in range(length, N+1) :
f0.append(f0[i-1] + f0[i-2])
f1.append(f1[i-1] + f1[i-2])
print(f0[N], f1[N])
T = int(input())
for _ in range(T) :
fibonacci(int(input()))
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
応用概念Reference
この問題について([白俊]2003回フィボナッチ関数-Python), 我々は、より多くの情報をここで見つけました https://velog.io/@kjhxxxx/백준-1003번-피보나치-함수-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol