筆試 菲波那切數列應用

2021-07-22 04:44:33 字數 730 閱讀 9064

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數。給你乙個n,你想讓其變為乙個fibonacci數,每一步你可以把當前數字x變 為x-1或者x+1,現在給你乙個數n求最少需要多少步可以變為fibonacci數。

輸入描述:

輸入為乙個正整數n(1 ≤ n ≤ 1,000,000)

輸出描述:

輸出乙個最小的步數變為fibonacci數」

輸入例子:

15輸出例子:

2

#include 

#include

using

namespace

std;

int fibonacci(int n)

else

}int main()

n--;

cout

<<( abs(inum - fibonacci(n))>abs(fibonacci(n+1) - inum)?abs(fibonacci(n+1) - inum):abs(inum - fibonacci(n)))<"pause");

return

0;}

菲波那切數列

防止明天沒有時間或者忘了寫,今天先寫下吧。如果一對兔子每月生一對兔子 一對新生兔,從第二個月起就開始生兔子 假定每對兔子都是一雌一雄,試問一對兔子,一年能繁殖成多少對兔子?首先這個題目的設定是原來的一對兔子在一開始是新生的兔子,這樣這對兔子在第二個月才能生下一對新的兔子 也就是第三個月開始,第二個月...

菲波那切數列

現在已知fibonacci 菲波那切 數列的前幾項0 1 1 2 3 5 8 程式設計求出第 n 項。輸入一行,包含乙個正整數n 1 n 50輸出乙個整數。有兩種實現方式 1.遞迴實現 include include using namespace std long long f int n int...

菲波那切數列

題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 熱度指數 808696 class solution def fibonacci self,n wr...