2018-01-26から1日間の記事一覧

その日は何曜日? (Ruby)

Ruby で日付から曜日を知るにはどうしたらよいか、遊びで考えてみました。 下のコードを実行すると、こんな感じ。 曜日を知りたい日付をコマンドライン引数にして実行します。 $ ruby what_day_of_the_week.rb 1989.1.8 1989-01-08 は 日曜日です。引数なし…

ソートの交換回数の最小化(Ruby)

アルゴリズム・パズルです。 問題: 例えば 1~3 の数字が任意に並んだ 3桁の数字を、各桁の入れ替えによってソートする場合、その入れ替えの数が最小になるようにソートしたとします。たとえば 231 なら 231→132→123 で 2回の入れ替えになります。これをすべ…

素数のマトリックス(Ruby)

アルゴリズム・パズルです。 問題: 1 1 3 2 3 3 7 9 7 3桁の異なる素数3つを選びます。これら(例えば 113, 233, 797)を上のように横に行列で並べたとき(行を入れ替えたものは別の行列とみなします)、行列を縦に見て得られる3つの数(ここでは 127, 139,…

グラスの水を半分に(Ruby)

アルゴリズム・パズルです。 問題: すべて大きさのちがう3つのグラス A, B, C があります。その容積は A = B + C, B > C(ただしすべて自然数)で、かつ B と C の値は互いに素とします。 まず、A のグラスに水をいっぱいに入れます。ここから水をどんどん…