与えられた整数がコラッツの問題の計算で1になるまでのステップ数を計算するPietプログラムである。
http://monobook.org/w/images/7/7a/Piet_Collatz.png
Piet(読み:ぴえと)とは、プログラミング言語の一つであり、「ソースコード」がテキストファイルではなく画像ファイルであることが特徴である。
画像の左上の画素から右側に実行される。
「ソースコード」にはあらかじめ決められた20色を使用する。
白黒以外の色から別の白黒以外の色に実行位置が移るとき、その色の組み合わせに対応する命令が実行される。
実行位置の次の色への移動は、一定の法則に従って今の色が四方向に連続している領域の「隅」から行われる。
上記にかかわらず、白色の画素では実行位置は直進する。
画像の外側や黒色の画素には移動できない。
前に進めなくなったら基本的に時計回りに曲がろうとし、何回曲がっても次の領域に進めなくなったら終了する。
データの保存や計算はすべてスタック上で行う。
スタックに数値をプッシュする命令を使用するとき、プッシュされる値として命令の実行直前にいた領域の面積が使用される。
ここで述べたのはあくまで概要である。正式な仕様は公式ページで確認してほしい。
http://www.dangermouse.net/esoteric/piet.html