こんにちは、ナナオです。

前回に引き続き競プロを実施していきたいと思います。

今回の問題は以下です。

【漸化式】 3項間漸化式 2 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】

実装

以下のように実装しました。

package main
import "fmt"
func main(){
    a := make([]int, 41)
    a[1] = 1
    a[2] = 1
    for i := 3; i <= 40; i++ {
        a[i] = a[i - 2] + a[i - 1]
    }
    var q int
    fmt.Scan(&q)
    for i := 0; i < q; i++ {
        var k int
        fmt.Scan(&k)
        fmt.Println(a[k])
    }
}

先にフィボナッチ数列を計算しておけば、出力はそれを参照するだけでよくなるので簡単ですね。

ということで今回はこれで👍