(備忘録)問題解決のための「アルゴリズム数学」〜 13

問題

atcoder.jp

自分の回答

規則性があり、2のN乗の一の位は2→4→8→6と繰り返すのでNを4で割った余りが1、2、3、0の時、答えはそれぞれ2、4、8、6となります。

puts case gets.to_i % 4
     when 1
       2
     when 2
       4
     when 3
       8
     else
       6
     end

その他回答

配列使うパターンは思い付かなかった

N = gets.to_i

puts [2, 4, 8, 6][(N - 1) % 4]