Heim > Artikel > Backend-Entwicklung > Zählen Sie die Anzahl der Binärzeichenfolgen ohne aufeinanderfolgende Einsen in C
Die gestellte Aufgabe besteht darin, die Anzahl aller binären Zeichenfolgen der Länge n ohne aufeinanderfolgende zu zählen.
Das binäre Zahlensystem ist eine Art Zahlendarstellungstechnologie. Es ist am beliebtesten und wird in digitalen Systemen verwendet. Das Binärsystem dient zur Darstellung binärer Größen, die von jedem Gerät dargestellt werden können, das nur zwei Betriebszustände bzw. mögliche Zustände aufweist. Ein Schalter hat beispielsweise nur zwei Zustände: Ein oder Aus.
In einem Binärsystem gibt es nur zwei Symbole oder mögliche numerische Werte, 0 und 1. Stellt einen Betriebszustand oder möglichen Zustand eines Geräts mit nur 2 dar. Binäre Zeichenfolgen sind Zeichenfolgen, die binäre Werte enthalten, d. h. 0 oder 1.
Lassen Sie uns nun anhand eines Beispiels verstehen, was wir tun müssen: 2 Die Anzahl der Binärzeichenfolgen beträgt: 3
Erklärung - 00, 01, 10 Es gibt also nur 3 Binärzeichenfolgen der Länge n und keine aufeinanderfolgende 1
Eingabe − n = 7
Ausgabe
Eingabe stark> - Die Anzahl der binären Zeichenfolgen ohne aufeinanderfolgende Einsen in 7 beträgt - 34
Die im folgenden Programm verwendete Methode lautet wie folgt:
Nehmen Sie eine Eingabe n, um die Zeichenfolgenlänge darzustellen
Weisen Sie das 0. Element der beiden Arrays 1 zu
Schleife starten von i=1 bis I kleiner als n ist.
Setze in der Schleife arr[i] = arr[i-1]+arr_2[i-1] und arr_2[i] = arr[i-1]
Temp = arr[n-1]+arr_2[n-1] einstellen und dann temp drucken.
Beispiel
#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; }
Ausgabe
Count of binary strings without consecutive 1’s of 10 is : 144 Count of binary strings without consecutive 1’s of 7 is : 34 Count of binary strings without consecutive 1’s of 1 is : 2
Das obige ist der detaillierte Inhalt vonZählen Sie die Anzahl der Binärzeichenfolgen ohne aufeinanderfolgende Einsen in C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!