裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

実力判定:Aランク-その2

2017年12月31日 | ブログラミング

極めよプログラミング道!【実力判定:Aランク】その2

締め切りが 2017/12/31 10:00 AM なので,その 1 分後に投稿されるように予約


【問題】
1階は1部屋、2階は1部屋、3階は2部屋、4階は3部屋、5階は5部屋、6階は8部屋、7階は13部屋と、増えていく塔があります。
3階以降は、下の2つの階にある部屋数の合計となります。ただし、部屋数が16以上になった場合は、合計を16で割った余りとなります。
ある階数が示された場合、その階に何部屋あるのか答えてください。
提示される階数は、1から1000000000の範囲とします。

【入力】
標準入力から、複数行のデータが与えられます。1行のデータが、1セットの数字になります。
1セットの数字は、1つの階数の数字です。

【出力】
1行ずつ計算して、答えとなる数字を1行ごと標準出力に出力します。

【入出力サンプル】
Input
4
5
6
8
 
Output
3
5
8
5
 
==========================================

周期24とは,短すぎるだろ。列挙しちゃうぞ。

g = function(n) {
    a = c(1, 1, 2, 3, 5, 8, 13, 5, 2, 7, 9, 0, 9, 9, 2, 11, 13, 8, 5, 13, 2, 15, 1, 0)
    cat(sprintf("%i\n", a[(n-1)%%24+1]))
}
arg = scan(file("stdin", "r"))
junk = sapply(arg, g)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 切手の選び方は何通り? | トップ | カエル跳びゲームを一般化して! »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事