この間、論理少女を読んだ時、2巻の巻末に、覆面算の問題がでていた。 SEND +MORE ----- MONEY のような文字に0〜9の数字を割り当てるというものだ。 今まで、こういうヤツを解くプログラムを何回かプログラムしてきたが、 最近は、Prolog で、制約条件を書いて、解くようにしている。 楽ちん楽ちん というワケなのだが、 そういう制約条件って式が決まれば、いちいち入力せずとも決まるようなものは、条件を入力せずに済ませたい。 例えば、 コマンドラインから、 >MaskedCalc SEND MORE MONEY と入力して答えが出て欲しいというわけで作ってみました。 この場合、第一引数+第2引数=第3引数ということです。 引き算とか掛け算とかそういう指定はできません。 (できるといいですね、誰か作って!) 実行例: >MaskedCalc SEND MORE MONEY SEN