先週のコマネチ大学数学科で取り上げられていた問題が気になったので、簡単なプログラムを作って計算してみる。

ある数字を逆さに並べた数字を足して
回文数になるまでこの作業を繰り返すとき
一番回文数になりにくい2ケタの数を答えなさい。
回文数:逆から数字を読んでも同じ数になる数。

筆算で試していた時には、回文数にならないんじゃないかと思われた89と98は(桁数が増えれば増えるほど繰り上がる桁を含む確率が上がるため回文数になる見込みは減っていく)、実際に24回目の作業で8813200023188という回文数に帰着。番組内で回文数になるかどうかがわかっていない数として紹介された196は、42回目の作業中(15656952877825966080+8066952877825965651)に符号なし64ビット整数の枠をあっさりオーバーフローして終了。以降の作業では当面、文字列同士の足し算を自前で定義して先に進むしかないが、その先には桁数そのものと、繰り返し回数の和(この両者は同じオーダーで増加していく)がPCのメモリ容量(24GB)に迫るという限界が待ち受けている。未解決というくらいだからそのような初歩的な手段はとうに試されているのだろう。見かけの単純さに引きかえ、人間が発明した道具のキャパシティーを楽に超えて聳えるこのような難問は、世の中まだまだ捨てたもんじゃないという清々しい気分を私たちに与えてくれる。それは、見かけの単純さに応じた、何らかの形式的美しさを備えた解決法にいつか人類は至るのではないかという、新たな知性(もしくは美の基準)への期待と同義のものだ。