テンパズル
解法自体はそれほど難しくないが、それをコンピュータ上に実装するための方法が難しい。とくに「整数の範囲内では解けないが分数(有理数)の範囲では解ける」ケースが存在する点が難関となる。そのため有理数を計算できる電卓プログラム(Forthを参照のこと)を実装することが要求される。
解を得るための手順としては、
「1・2・3・4」から「6・7・8・9」までの順列を生成する(126通りある)。
それぞれの数から、組合せを生成する。これは24通りある。
各組合せに対して、Forth 言語として意味のある式(数値四つ+演算子三つの7要素である)をすべて生成する(最初の二つは数字であり、最後のひとつは演算子である)。
その式をすべて評価し、解が10と一致するもののみを選ぶ。
Forth 式を(括弧)のある式に変換する。
プログラム・アルゴリズムの分野では、逆ポーランド記法(後置記法)やスタックの例題として取り上げられることがあるが、プログラミング初級者にはほとんど歯が立たない。「逆ポーランド記法を評価できる仮想的マシンを実装し、そのプログラミング言語を生成するシステムを作る」といった言語処理系想定する方法が有効なので、システムエンジニアに対しては有効な課題である。Java などのオブジェクト志向プログラミング言語ではコンテナクラスもあり扱いやすいが、C 言語のような言語処理系においては、時間・空間計算量などの見積もりが大変であったため、「複数のプログラム間をファイル渡し(または標準入出力渡し)して解決する」という手法もあった。
いずれにせよ、数理パズルとして良問であることは間違いない。