パズルの解法, ナンバープレースの解法, パズルでプログラミングのフォントを Web フォント (Noto Sans JP, Noto Sans Mono) に変更し、印刷用の CSS を追加しました。Web ブラウザの印刷機能を使って PDF に変換することもできます。表示が崩れるときはフォント Noto Sans Mono CJK JP をインストールしてください。
Puzzle DE Programming は、パズルを題材にプログラミングを楽しみましょう、というお気楽なページです。世の中にはいろいろな種類のゲームがたくさんありますが、その中で M.Hiroi はパズルや思考ゲームが大好きです。パズルを解くこともパズルゲームを作ることも面白いのですが、それ以上に興味を持っていることがあります。それはコンピュータにパズルを解かせること、つまり、パズルの解法プログラムを作ることです。これがとても面白いのです。
また、パズルはプログラミングの学習にも役立ちます。どのプログラミング言語でもそうですが、上達の秘訣は実際にプログラムを作ってみることです。ところが、いざとなると「さて、何を作ろうか?」と困ってしまう方も多いのではないでしょうか。このような場合、パズルの解法プログラムはぴったりの題材なのです。
なんといっても実際にパズルが解けたときの喜びは大きく、プログラムを作る意欲をかきたててくれます。そして、解を求めるだけではなく、実行時間を短縮するためにプログラムを改良するのです。これがパズルプログラミングの醍醐味といってもいいでしょう。
簡単なパズルは力任せでも解くことができますが、少し複雑なパズルになると力任せでは時間がかかってしまいます。ところが、パズルの性質や特徴を見極めてプログラムを作ると、実行時間を劇的に短縮できる場合があります。超高速な解法プログラムができたときは本当に嬉しいものです。プログラミングに興味をお持ちの方は、ぜひパズルの解法にも挑戦してください。
『パズルの解法』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『パズルの解法』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。
ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。
『ナンバープレースの解法』は、Oh!X 1999 夏号 (ソフトバンク) に掲載された拙作のドキュメントです。パズル「ナンバープレース」の解法プログラムについて説明します。9 行 9 列盤のほかに、12 行 12 列盤と 16 行 16 列盤の解法プログラムも用意しました。これらのプログラムは Tcl/Tk GUI Programming の ナンバープレース で利用することができます。なお、ホームページへの転載にあたって、内容の再考証は行っておりません。ご了承下さいませ。
< Oh!X 1999 夏号 (ソフトバンク) pp.179 - 181 から転載 >
『ナンバープレースの解法』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『ナンバープレースの解法』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。
ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。
『パズルでプログラミング』は、Oh!X 2001 春号(ソフトバンク) に掲載された拙作のプログラミング講座です。パズルを題材にして、基本的なデータ構造とアルゴリズムを説明します。使用するプログラミング言語はC言語です。なお、ホームページへの転載にあたって、内容の再考証は行っておりません。ご了承下さいませ。
< Oh!X 2001 春号 (ソフトバンク) pp.216 - 239 から転載 >
『パズルでプログラミング』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『パズルでプログラミング』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。
ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。