お題 子どもの宿題で「Frankenstein」に含まれる文字を使って別の英単語をできるだけたくさん見つけるというものが出されたので、プログラムで解いてみようと思った。 前回は、当初予定していた単語「Frankenstein」(12字)を試す前の「Frankenste」(10字)の時点で 88秒 かかり、12字の方はメモリが足りず計測不可だった。 今回は、とりあえず無駄なループ数を減らす対応をしてみる。 開発環境 前回踏襲 実践 ■無駄なループ数を減らす 前回のは、最初に単語を与えられたら、その文字数分のループを繰り返し、重複する単語は(重複を受け付けない(=重複分が追加されても無視される))セットを定義して追加していく方式にした。 例えば、「ant」なら「a」「n」「t」に分割し、1字ずつループで処理していく中で、「a」の1字につき、さらにループで「a」「n」「t」を1字ずつループ処理し

