m3908714035同じものを含む円順列を列挙したいです。重複するものがなければ、高校数学的に一つを固定してnext_permitationでforしていけば円順列を作ることができますが、重複するものが出てくるとそう簡単には解けませんでした。桁数は30くらいまで)"を並び替えて円順列を出力するというものです。自身で考えてはみたものの、さっぱりアイデアが思い浮かびません。全て列挙して一つ一つ文字を右へずらし、ほかのものと被れば消去ということは考えましたが、当たり前のように時間がかかってしまいました。良い方法があればご教示いただけると幸いです。新たな候補の文字列がそれに含まれるかどうかが判定できます。2つ連結するのは円順列による一致を調べるためです。b));}単純な方法なので、30桁は厳しいでしょう。m3908714035回答ありがとうございます。来ていないのですが、t内でsが含まれるイテレータの位置=string::findで値が見つからなかった場合に返す値(-1)⇔t内にsはないという認識でよいのでしょうか。来ていないのですが、t内でsが含まれるイテレータの位置=string::findで値が見つからなかった場合に返す値(-1)⇔t内にsはないという認識でよいのでしょうか。その認識でよいでしょう。イテレータを返すのではありません。見つかれば、その位置を整数値で返します。