ホームページ  >  記事  >  バックエンド開発  >  部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算します。

部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算します。

WBOY
WBOY転載
2023-09-07 10:13:061356ブラウズ

部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算します。

この記事の目的は、部分文字列の繰り返し連結によって形成される長さ N のバイナリ文字列の数を数えるプログラムを実装することです。

目標は、指定されたテキストの個々の部分文字列を繰り返し連結することによって、長さ N のバイナリ文字列をいくつ作成できるかを決定することです (N は正の整数)。

###問題文###

部分文字列を繰り返し連結する長さ N のバイナリ文字列の数を数えるプログラムを実装します。

例 例 1

リーリー リーリー

説明

の中国語訳は次のとおりです:

説明

以下に、部分文字列が繰り返し連結された、長さ N=3 の実現可能なバイナリ文字列を示します。

リーリー

したがって、これらすべての文字列の合計数を数えると、合計は 2 になります。したがって、出力は 2 になります。

例 例 2

リーリー リーリー

説明

の中国語訳は次のとおりです:

説明

以下にリストされているのは、部分文字列の繰り返しの連結を含む、長さ N=8 の実行可能なバイナリ文字列です。

リーリー

したがって、これらすべての文字列の合計数を合計すると、合計は 16 になります。したがって、出力は 16 になります。

###方法###

部分文字列を繰り返し連結して形成される長さ N のバイナリ文字列の数を数えるには、次の方法を使用します。

この問題を解決し、部分文字列を繰り返し連結する N 長のバイナリ文字列の数を数える方法。

上記の問題は、実行可能なすべての文字列に C 回連結された繰り返しの部分文字列が含まれているという事実に基づいて解決できます。したがって、連続するすべての文字列を生成するには、指定された文字列の長さ N が C で割り切れる必要があります。

したがって、まず N のすべての約数を見つけてから、考えられる約数 C ごとに、それらを連結することによって作成できるすべての潜在的な文字列の合計数を見つけます。この数は 2C を使用して決定できます。各再帰呼び出しの合計数を決定するには、同じ手法を除数 C に適用し、それを 2C から減算します。これには、それらの間に存在する重複文字列の数も考慮されます。

###アルゴリズム###

以下に示す部分文字列を繰り返し連結して長さ N のバイナリ文字列を計算するアルゴリズム。

最初のステップ

- 開始

  • ステップ 2 *-部分文字列の連結となる長さ N の文字列の数をカウントする関数を定義します。

  • ステップ 3 - ステータスが計算されたかどうかを確認します

  • ステップ 4 - 現在の再帰呼び出しの結果またはカウントの値を保存します

  • #ステップ 5 - すべての約数を反復処理します

  • ステップ 6 - 取得した結果を返す

  • ステップ 7 - 停止

  • 例: C プログラム

    これは、上記のアルゴリズムを C プログラムで実装したもので、部分文字列の繰り返しの連結によって形成された N 長のバイナリ文字列の数をカウントするために使用されます。 リーリー ###出力### リーリー ###結論は###

    同様に、部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算できます。
この記事では、部分文字列を繰り返し連結して形成された N 長のバイナリ文字列の数を取得するという課題に取り組みます。

C プログラミング コードは、部分文字列を繰り返し連結する N 長のバイナリ文字列を計算するアルゴリズムとともにここで提供されます。

以上が部分文字列を繰り返し連結した長さ N のバイナリ文字列を計算します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。