文字列生成を総当りで行う場合
初めての質問で分かりにくいところもあるかと思いますが宜しくお願いします。
あ,い/うえ/おか,き,くけこ/さ/しす
という文字列から、
あ/うえ/おか/さ/しす
あ/うえ/き/さ/しす
あ/うえ/くけこ/さ/しす
い/うえ/おか/さ/しす
い/うえ/き/さ/しす
い/うえ/くけこ/さ/しす
このような文章を作りたいのです。
言葉で説明しにくいのですが、"/"と"/"の間にある文字列を必ず1つ使い、","があるところを総当りで文字列を生成します。
私の作ったプログラムでは、この例のように6文で済む場合なら対応できるのですが、実際に使う文章はもっと長く、"/"の区切りも多く、更に"."が10個以上あることも多いので、文が億単位で生成されることも多々あります。intで表せない(今のプログラムでは、あらかじめ何個の文ができるか計算してから文を生成しています。)場合や、文字列を格納する場所が多くなりすぎてメモリが足りなくなり、生成できません。
この文字列生成は、上記の6個ように総当りで文字列が生成できれば、どの文が最初に生成されても構いません。できれば1文出来るごとにそれを使った違う処理に移り、返ってきたらその文を捨ててまた新たな文を生成できると嬉しいです。
どうぞ宜しくお願いします。