pythonでFibonacci数列を作る問題を記録します

831 ワード

年初に会社を辞めて今までプログラミングしたことがなくて、中には何回かpythonを使っていますが、あまり急いでいないので、ずっと引きずっていて、今pythonを勉強する暇があります.
この2,3日基本的な文法に慣れましたが、pythonで問題を解くのは初めてです.文法を熟知して身につける.
 
タイトルの説明
Fibonacci数列は、F[0]=0 F[1]=1 for each i≧2:F[i]=F[i-1]+F[i-2]と定義されているので、Fibonacci数列は、0,1,1,2,3,5,8,13,...,Fibonacci数列の数をFibonacci数と呼ぶ.あなたに1つのNをあげて、あなたはそれを1つのFibonacci数に変えたいと思って、すべてのステップはあなたは現在の数字のXをX-1あるいはX+1に変えることができて、今あなたに1つの数のNを求めて最低でどれだけのステップを必要としてFibonacci数に変えることができます.
説明を入力:
        N(1 ≤ N ≤ 1,000,000)

出力の説明:
           Fibonacci "


入力
15

しゅつりょく
2

 
解:
n = int(input())
a = 0
b = 1
while n > b:
    a, b = b, a+b
if n - a < b - n:
    step = n - a
else:
    step = b - n
print(step)