この記事の目的は、部分文字列の繰り返し連結によって形成される長さ N のバイナリ文字列の数を数えるプログラムを実装することです。
目標は、指定されたテキストの個々の部分文字列を繰り返し連結することによって、長さ N のバイナリ文字列をいくつ作成できるかを決定することです (N は正の整数)。
###問題文###例 例 1
リーリー リーリーしたがって、これらすべての文字列の合計数を数えると、合計は 2 になります。したがって、出力は 2 になります。
例 例 2
リーリー リーリーしたがって、これらすべての文字列の合計数を合計すると、合計は 16 になります。したがって、出力は 16 になります。
###方法###部分文字列を繰り返し連結して形成される長さ N のバイナリ文字列の数を数えるには、次の方法を使用します。
上記の問題は、実行可能なすべての文字列に C 回連結された繰り返しの部分文字列が含まれているという事実に基づいて解決できます。したがって、連続するすべての文字列を生成するには、指定された文字列の長さ N が C で割り切れる必要があります。
したがって、まず N のすべての約数を見つけてから、考えられる約数 C ごとに、それらを連結することによって作成できるすべての潜在的な文字列の合計数を見つけます。この数は 2C を使用して決定できます。各再帰呼び出しの合計数を決定するには、同じ手法を除数 C に適用し、それを 2C から減算します。これには、それらの間に存在する重複文字列の数も考慮されます。
###アルゴリズム###以下に示す部分文字列を繰り返し連結して長さ N のバイナリ文字列を計算するアルゴリズム。
最初のステップ
- 開始
ステップ 2 *-部分文字列の連結となる長さ N の文字列の数をカウントする関数を定義します。
ステップ 3 - ステータスが計算されたかどうかを確認します
ステップ 4 - 現在の再帰呼び出しの結果またはカウントの値を保存します
#ステップ 5 - すべての約数を反復処理します
ステップ 6 - 取得した結果を返す
ステップ 7 - 停止
これは、上記のアルゴリズムを C プログラムで実装したもので、部分文字列の繰り返しの連結によって形成された N 長のバイナリ文字列の数をカウントするために使用されます。 リーリー ###出力### リーリー ###結論は###
同様に、部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算できます。以上が部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。