(備忘録)問題解決のための「アルゴリズム数学」〜 7
問題
自分の回答
書籍に手引きがあるからスムーズに答えられるけど、パッと問題だけ見たらまず分からないなこれ
N = gets.to_i dp = Array.new(N) (0..N).each do |i| i <= 1 ? dp[i] = 1 : dp[i] = dp[i - 1] + dp[i - 2] end puts dp[N]
その他回答
他の回答参考に考えたやつ dp[0]とdp[1]ははそれぞれ1通りしかないので先に初期値入れてその他の値はeachで回せばもう少し分かりやすそう
N = gets.to_i dp = Array.new(2, 1) (2..N).each do |i| dp[i] = dp[i-1] + dp[i-2] end p dp[N]