パズル

Tool

ナンプレを自動的に解く「Number Place Solver」

ナンプレ(ナンバープレース、数独)を自動的に解くツールを作りました。最近、プログラムを使ってパズルを解くことができたので「ナンプレもできるのでは」と思って、試しにClaudeに「数独の例題を考えて。それをJavaScriptで解くプログラム...
Python

だんご屋のひまつぶしをPythonで解いてみた

だんご屋のひまつぶしというパズルがあるそうです。三本の串に刺さった、ある状態の赤、白、緑の団子を別の状態に移します。このパズルを完全に解析したという記事がありました。難しくて理解できなかったので、自分でも考えてみることにしました。Pytho...
小ネタ

京都大学の大学祭のカウントダウン

京都大学で面白い立て看板があったそうです。
豆知識

パレットローディング問題

大きい長方形に小さい長方形が最大でいくつ入れられるかという問題をパレットローディング問題と呼ぶそうです。これについて考えてみました。
Python

Python+Z3で覆面算を解く方法(SAT入門)

Microsoft Researchが作ったZ3というツールがあります。これを使うと魔方陣や数独などを簡単に解くことができます。簡単にと言っても使い方は難しいです。今回はPythonでZ3を使って覆面算を解いてみます。Macで試しました。
小ネタ

15パズルの解き方

15パズルは正方形に並んだ15枚のパネルを1から15まで順番に並べ直すパズルです。
Tool

適切な言葉を探す「クロスワード用検索機」

クロスワードパズル用の単語検索機を作りました。
Tool

4個の数字と加減乗除で数を作る

「1,1,9,9と四則演算を組み合わせて10を作れ」というパズルがありました。これはなかなか難しいです。最初に答えを書いてしまうと「(1+1÷9)×9=10」です。
小ネタ

魔方陣を作る方法

3×3のマス目に1から9までの数を重複なく入れ、縦、横、斜めの合計がすべて等しくなるものを魔方陣と言いますが、これを考えてみます。なお「魔法陣」ではありません。
小ネタ

「4桁÷4桁=1桁」で1から9までの数字をすべて使う

前に「3桁÷2桁=2桁あまり2桁」で1から9までの数字をすべて使うというパズルをとり上げましたが、今回は次の通り。「4桁÷4桁=1桁(あまりゼロ)」となる計算で、1から9までの数字をすべて使う場合を見つけろ。そしても今回もしらみつぶし法で解...