題目描述
大家都知道斐波那契數列吧?斐波那契數列的定義是這樣的f0
=0;f
1=1;
fi=f
i−1+
fi−2
f 0=
0;f1
=1;f
i=fi
−1+f
i−
2現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。
(資料保證x一定有對應的項y,且 2 <= y < 1e4)
輸入
第一行乙個整數t,表示測試組數。
之後的t行,每行乙個數x
輸出 對於每個測試資料,輸出一行表示數x是第幾項
樣例輸入
2 2
5樣例輸出3 5
#include
using
namespace
std;
typedef
long
long ll;
typedef
unsigned
long
long ull;
typedef pair pii;
const
int n = (int) 100000 + 11;
const
int m = (int) 1e6 + 11;
const
int mod = (int) 1e9 + 7;
const
int inf = (int) 0x3f3f3f3f;
ull f[n]=;
mapint> mp;
int main()
int t; cin>>t;
while(t--)
return
0;}
思路:先將所有的斐波那契數提前算出來並將它對應的位數放在mp陣列中,然後輸入所要找的數,因為所輸入資料較大所以在輸入數應用到了大數的輸入(字串)輸入資料,最後算出所輸入資料的大小直接訪問即可。 又見斐波那契數列
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 m斐波那契數列。m斐波那契數列f n 是一種整數數列,它的定義如下 f 0 a f 1 b f n f n 1 f n 2 n 1 現在給出a,b,n,聰明的 你能求出f n 的值嗎?輸入 輸入包含多組測試資料 每組資料佔一行,...
迴圈斐波那契數列 斐波那契數列應用
什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...
又見斐波那契
這是乙個加強版的斐波那契數列。給定遞推式 求f n 的值,由於這個值可能太大,請對109 7取模。第一行是乙個整數t 1 t 1000 表示樣例的個數。以後每個樣例一行,是乙個整數n 1 n 1018 每個樣例輸出一行,乙個整數,表示f n mod 1000000007。412 3100 1 165...