0

このスクリプトは私に与えることができます

  1. 4000000 までのすべてのフィボナッチ数

  2. 4000000 までのすべての偶数の合計を教えてください。

ただし、以下の要件を満たすことはできず、そうする方法を知りたいです。

私のスクリプト:

#Problem 2
P2 = 0
fib= 0
f1 = 1
f2 = 0
debugP2 = []
while fib < 4000000:
    fib = f1 + f2
    f2 = f1
    f1 = fib
    if fib % 2 == 0:
        P2 += fib
        debugP2.append(fib)
print(debugP2)
print(fib)

質問は:

フィボナッチ数列の新しい各項は、前の 2 つの項を追加することによって生成されます。
1 と 2 から始めると、最初の 10 項は次のようになります。

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

値が 400 万を超えないフィボナッチ数列の項を考慮して、偶数値の項の合計を求めます。

4

1 に答える 1

2

P2ではなく印刷することになっていfibます。

#Problem 2
P2 = 0
fib= 0
f1 = 1
f2 = 0
debugP2 = []
while fib < 4000000:
    fib = f1 + f2
    f2 = f1
    f1 = fib
    if fib % 2 == 0:
        P2 += fib
        debugP2.append(fib)
print(P2) # Its not fib

出力

4613732

編集:このようにプログラムを短縮できます

P2, fib, f1, f2 = 0, 0, 1, 0
while fib < 4000000:
    fib, f2 = f1 + f2, f1
    f1 = fib
    if fib % 2 == 0:
        P2 += fib
print(P2) # Its not fib

出力

4613732
于 2013-11-14T01:29:24.630 に答える