2018-12-01から1ヶ月間の記事一覧

隣り合わないのがマナー?(Ruby)

アルゴリズム・パズルです。 電車の中に 6人がけのロングシートが向かい合いになって、計12の席があるとします。 すべて空いている状態からすべてが埋まるまで、両隣が空いている空席があるときはそちらから座るというルールで、全部で何通りの席の埋まり方…

Linux Mint 19(Ubuntu 18.10)に Bundler で Ruby/Tk を入れる

Ruby 2.7.0 では以下の方法でインストール可能です。ただし、gem 'tk' を使うと警告がたくさん出ます。(2020/3/12) Ruby 2.6.0 では以下の方法では tk はインストールできないようです。対策はいまのところわかりません。 なお、Bundler を使わず gem inst…

4つの数で 10 を作る(Ruby)

テンパズル - Wikipedia 1桁の4つの数と四則演算で、10 を作るコードを Ruby で書いてみました。括弧は使ってもよいことにします。実行例。 $ ruby make_ten.rb [2, 7, 3, 9] で 10 を作る (2 + 3) * (9 - 7) (7 + 9) - (2 * 3) 9 + (7 - (2 * 3)) 9 - ((2 *…

Ruby で ANSIエスケープシーケンスを扱う

Ruby を使っているとき、Linux でのターミナル表示の処理の仕方をすぐ忘れてしまうので、簡単なライブラリを作った。 以下はこんな画面を作るコード。 require_relative 'es' res = ES.reset print ES.clear puts ES.color(:style, :blink) + ES.color(:gree…

クロスワードパズルを作成せよ!(Ruby)

アルゴリズム・パズルです。 クロスワードを作る場合、空白と黒マスについて次のルールがあります。 黒マスは縦横に連続しない。 黒マスによって盤面が分断されてはいけない。 黒マスルール - Wikipedia これを「黒マスルール」といいます。 さて、縦 5、横 …