目次
Algorithm
Example
Output
ホームページ バックエンド開発 C++ 連続する 1 のないバイナリ文字列の数を数えるプログラムを C/C++ で作成しますか?

連続する 1 のないバイナリ文字列の数を数えるプログラムを C/C++ で作成しますか?

Aug 25, 2023 pm 10:05 PM
計算する バイナリ文字列 継続的な

連続する 1 のないバイナリ文字列の数を数えるプログラムを C/C++ で作成しますか?

ここで興味深い質問があります。値 n が与えられたとします。連続する 1 がない長さ n の文字列をすべて見つけなければなりません。 n = 2 の場合、数値は {00, 01, 10} となるため、出力は 3 になります。

動的プログラミングを使用してそれを解決できます。テーブル「a」と「b」があるとします。ここで、arr[i] には、連続する 1 がなく、0 で終わる長さ i のバイナリ文字列の数が格納されます。同様に、b も同じですが、1 で終わります。最後のものが 0 の場合は 0 または 1 を追加できますが、最後のものが 1 の場合は 0 のみを追加します。

このアイデアを理解するためのアルゴリズムを見てみましょう。

Algorithm

noConsecutiveOnes(n) -

Begin
   define array a and b of size n
   a[0] := 1
   b[0] := 1
   for i in range 1 to n, do
      a[i] := a[i-1] + b[i - 1]
      b[i] := a[i - 1]
   done
   return a[n-1] + b[n-1]
End
ログイン後にコピー

Example

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

Example

#include <iostream>
using namespace std;
int noConsecutiveOnes(int n) {
   int a[n], b[n];
   a[0] = 1;
   b[0] = 1;
   for (int i = 1; i < n; i++) {
      a[i] = a[i-1] + b[i-1];
      b[i] = a[i-1];
   }
   return a[n-1] + b[n-1];
}
int main() {
   cout << noConsecutiveOnes(4) << endl;
}
ログイン後にコピー

Output

リーリー

以上が連続する 1 のないバイナリ文字列の数を数えるプログラムを C/C++ で作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Word文書で足し算、引き算、掛け算、割り算を計算する方法 Word文書で足し算、引き算、掛け算、割り算を計算する方法 Mar 19, 2024 pm 08:13 PM

Word文書で足し算、引き算、掛け算、割り算を計算する方法

CUDA の汎用行列乗算: 入門から習熟まで! CUDA の汎用行列乗算: 入門から習熟まで! Mar 25, 2024 pm 12:30 PM

CUDA の汎用行列乗算: 入門から習熟まで!

Python の count() 関数を使用してリスト内の要素の数を数える方法 Python の count() 関数を使用してリスト内の要素の数を数える方法 Nov 18, 2023 pm 02:53 PM

Python の count() 関数を使用してリスト内の要素の数を数える方法

C# で Math.Pow 関数を使用して指定した数値のべき乗を計算する方法 C# で Math.Pow 関数を使用して指定した数値のべき乗を計算する方法 Nov 18, 2023 am 11:32 AM

C# で Math.Pow 関数を使用して指定した数値のべき乗を計算する方法

Java で部分文字列の出現数を再帰的にカウントする Java で部分文字列の出現数を再帰的にカウントする Sep 17, 2023 pm 07:49 PM

Java で部分文字列の出現数を再帰的にカウントする

行列式を使用して三角形の面積を計算するJavaプログラム 行列式を使用して三角形の面積を計算するJavaプログラム Aug 31, 2023 am 10:17 AM

行列式を使用して三角形の面積を計算するJavaプログラム

合計スコアとパーセンテージを計算する Java プログラムの例 合計スコアとパーセンテージを計算する Java プログラムの例 Sep 11, 2023 pm 06:01 PM

合計スコアとパーセンテージを計算する Java プログラムの例

PHP 日付処理のヒント: PHP を使用して日付間の月の差を計算するにはどうすればよいですか? PHP 日付処理のヒント: PHP を使用して日付間の月の差を計算するにはどうすればよいですか? Mar 20, 2024 am 11:24 AM

PHP 日付処理のヒント: PHP を使用して日付間の月の差を計算するにはどうすればよいですか?

See all articles