天下一プログラマーコンテスト予選A 参加してみた

だいぶ前になりますが.例によって最初の2問です.

A問題

fibonacci = [1,1]
n = gets.to_i

(n-1).times do |i|
  fibonacci.push(fibonacci[i]+fibonacci[i+1])
end

puts fibonacci.last
  • 最初は図にして考えてみて,「フィボナッチ数列に近そうだけど独自の実装が必要そうだな?」と思って組んで通したらサンプルと全然違った
  • 「これもしかして有名な話なんじゃね?」と思ってググってみたらドンピシャのお話が引っかかった.案の定ただのフィボナッチだった
  • フィボナッチ数列を出力するプログラムは以前組んで取っといたのでそれを引っ張って改造することに.入力された数に対して第何項まで計算すればいいのかがわからないのと,timesメソッドのブロック変数が0から始まることを知らずにプッシュする配列の添字に困った.試行錯誤したら欲しい値が出てきたので通してAC

B問題

puts gets.chomp.split.join(",")
  • もう何も言うまい

コメント

このブログの人気の投稿

慶大プレ小論文

改名