長さのリストを与えることができ、それらの長さまでのデカルト座標のすべての組み合わせを返すメソッドを作成したいと思います。例で説明するのは簡単です:
cart [2,5]
Prelude> [ [0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,1],[1,2],[1,3],[1,4] ]
cart [2,2,2]
Prelude> [ [0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1] ]
リストがどれくらいの長さになるかわからないため、単純なリストの理解は機能しません。私は多くの問題で Haskell のシンプルさが気に入っていますが、Haskell では動脈瘤ができてしまうのに対し、これは手続き的に (C か何かで) 5 分で書ける問題です!
この特定の問題の解決策は、私を大いに助けてくれます。また、このようなことに取り組むときの思考プロセスについてもお聞きしたいと思います.