combination.el
要素数Nの配列からK個を取る組み合わせを作る必要があり、Emacsのsite-lispに実装があるかと思ったが見当たらなかった。そんなわけでElispで書いてみました。リストから順番に要素を取りながら組み合わせを作る手順は想像できたので以下を書いた。
ひとつの関数の再帰で可能かとも思ったが、max-lisp-eval-depthエラーのため2段階に分けた。さらに流れが追いづらく、分かりにくいコードとなっているので、また考え直したいと思う。
要素数Nの配列からK個を取る組み合わせを作る必要があり、Emacsのsite-lispに実装があるかと思ったが見当たらなかった。そんなわけでElispで書いてみました。リストから順番に要素を取りながら組み合わせを作る手順は想像できたので以下を書いた。
ひとつの関数の再帰で可能かとも思ったが、max-lisp-eval-depthエラーのため2段階に分けた。さらに流れが追いづらく、分かりにくいコードとなっているので、また考え直したいと思う。