C++ で文字列の繰り返しを使用してすべてのバリエーションを生成したいのですが、非再帰アルゴリズムを強く希望します。過去に再帰アルゴリズムを思いついたことがありますが、複雑さ (r^n) のため、反復的なアプローチが必要です。
Web や StackOverflow のどこにも、この問題の解決策を見つけることができなかったことに非常に驚いています。
私も同様にやりたいことをするPythonスクリプトを思いつきました:
import itertools
variations = itertools.product('ab', repeat=4)
for variations in variations:
variation_string = ""
for letter in variations:
variation_string += letter
print variation_string
出力:
aaaa aaab aaba aabb abaa abab abba abbb baaa baab baba babb bbaa bbab bbba bbbb
理想的には、まったく同じパラメーターを使用して、正確な出力を生成できる C++ プログラムが必要です。
これは学習目的であり、宿題ではありません。宿題がこうだったらいいのに。