fibonacci數列是這樣定義的:f[0] = 0,f[1] = 1;for each i ≥ 2; f[i] = f[i-1] + f[i-2]
即:0, 1, 1, 2, 3, 5, 8, 13, …,這些數稱為fibonacci數。給乙個n,想讓其變為乙個fibonacci數,每一步你可以把當前數字x變為x-1或者x+1,求最少需要多少步可以變為fibonacci數。
輸入描述:輸入為乙個正整數n
(1 ≤ n ≤ 1
,000
,000
) 輸出描述:輸出乙個最小的步數變為fibonacci數
示例:
輸入:15 輸入:16
輸出:2 輸出:3
#include
using
namespace std;
int a[
100000
], b[
100000];
//在一定範圍內
intmain()
cout << min << endl;
return0;
}
#include
intmain()
//差值大的另一邊步數最小
printf
("%d\n"
, input - left >= right - input ? right - input : input - left)
;return0;
}
C 斐波那契數列
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞迴的方法定義 f ...
C 斐波那契數列
斐波那契數列 fibonacci sequence 又稱 分割數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 1 1,f 2 1,f n f n 1 f n 2 n 3,n n 1.static int func int n i...
c 斐波那契數列
題目描述 faibonacci數列前幾項為 0,1,1,2,3,5,8,其規律是從第三項起,每項均等於前兩項之和。求前n項,並以每行5個數的格式輸出。輸入乙個正整數n 3 n 30 表示斐波那契數列的項數。輸出若干行,每行五個數,每個數使用10個位置輸出。樣例輸入 樣例輸出 0 1 1 2 3 5 ...