与えられたタスクは、連続する 1 を持たない長さ n のすべてのバイナリ文字列の数をカウントすることです。
2 進数システムは、数値表現技術の一種です。最も一般的であり、デジタル システムで使用されます。 2 進法は、動作状態または考えられる条件が 2 つしかないデバイスで表現できる 2 進数を表すために使用されます。たとえば、スイッチにはオンまたはオフの 2 つの状態しかありません。
2 進法では、記号または取り得る数値は 0 と 1 の 2 つだけです。 2 だけのデバイスによる動作状態または考えられる状態を表します。バイナリ文字列は、バイナリ値、つまり 0 または 1 を含む文字列です。
次に、何をしなければならないかを理解するために例を使用しましょう -
Enter - n = 2
出力 - 2 に連続 1 がないバイナリ文字列の数は次のとおりです: 3
説明 - 00、01、10 のみ連続しない長さ n の 3 つのバイナリ文字列 1
input − n = 7
output
Input Strong > - 7 の中に連続 1 がないバイナリ文字列の数は - 34です。
入力を受け取ります。n は文字列を表します。 length
count 関数では、連続する 1 のないバイナリ文字列をカウントし、サイズ n の 2 つの配列 arr[] と arr_2 を定義し、格納された変数 temp # への配列を定義します。
#include<stdio.h> //create function to calculate binary strings without consecutive 1’s void count(int num){ int arr[num]; int arr_2[num]; int i=0, temp=0; arr[0] = arr_2[0] = 1; //loop till number isn't equals to 0 for (i = 1; i < num; i++){ arr[i] = arr[i-1] + arr_2[i-1]; arr_2[i] = arr[i-1]; } temp = arr[num-1] + arr_2[num-1]; printf("Count of binary strings without consecutive 1’s of %d is : %d",num,temp); printf("</p><p>"); } int main(){ //call the count function count(10); count(7); count(1); return 0; }
出力
以上がC で連続 1 のないバイナリ文字列の数を数えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。