Mais conteúdo relacionado
yukicoder : No.195 フィボナッチ数列の理解(2)
- 2. 問題
• (A,B)フィボナッチ数列(以下(A,B)列)の
第k項𝐹𝐴,𝐵(𝑘)は:
– 𝐹𝐴,𝐵 1 = 𝐴
– 𝐹𝐴,𝐵 2 =B
– 𝑘 ≥ 3の時𝐹𝐴,𝐵 𝑘 = 𝐹𝐴,𝐵 𝑘 − 1 + 𝐹𝐴,𝐵 𝑘 − 2
• 3正整数X,Y,Zを含む(A,B)列を求めよ
– X,Y,Zが一致し実質整数が1・2個の場合も
2
- 3. 重要な性質
• (A,B)列は(1,0)列と(0,1)列の線形結合
で表現可能
• 𝐹1,0(𝑘)と𝐹0,1(𝑘)を計算しておくと、𝐹𝐴,𝐵(𝑘)
が簡単に計算できる
3
A
倍
B
倍
𝐹𝐴,𝐵 𝑘 = 𝐴 × 𝐹1,0 𝑘 + 𝐵 × 𝐹0,1 𝑘
足
す
𝑘 1 2 3 4 5 6
𝐹1,0(𝑘) 1 0 1 1 2 3
𝐹0,1(𝑘) 0 1 1 2 3 5
𝐹𝐴,0(𝑘) A 0 A A 2A 3A
𝐹0,𝐵(𝑘) 0 B B 2B 3B 5B
𝐹𝐴,𝐵(𝑘) A B A+B A+2B 2A+3B 3A+5B
- 4. 2整数X,Yの場合
– 第p項がX、第q項がYになるとしてp,qを総当たり
– 𝐹1,0 𝑘 と𝐹0,1 𝑘 が計算済みならば、これは
単なるA,Bの連立方程式
• 𝐹1,0 45 ≥ 109
よりp,qは45程度まで調べればよい
• A,Bが正整数かつ最小のものが解
– 2整数では解は必ず存在する
• 少なくともA=X, B=Yは当然X,Yを含む
4
𝐹𝐴,𝐵 𝑝 = 𝐴 × 𝐹1,0 𝑝 + 𝐵 × 𝐹0,1 𝑝 = 𝑋
𝐹𝐴,𝐵 𝑞 = 𝐴 × 𝐹1,0 𝑞 + 𝐵 × 𝐹0,1 𝑞 = 𝑌