Heim  >  Artikel  >  Backend-Entwicklung  >  Zählen Sie die Anzahl der Binärzeichenfolgen ohne aufeinanderfolgende Einsen in C

Zählen Sie die Anzahl der Binärzeichenfolgen ohne aufeinanderfolgende Einsen in C

WBOY
WBOYnach vorne
2023-09-04 22:09:081042Durchsuche

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

In der Zählung Funktion berechnen wir die Binärzeichenfolge ohne aufeinanderfolgende Einsen, definieren zwei Arrays arr[] und arr_2 der Größe n und eine Variable temp für die Speicherung

  • 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

  • Live-Demonstration
  • #include<stdio.h>
    //create function to calculate binary strings without consecutive 1&rsquo;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&#39;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&rsquo;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

  • Wenn wir den obigen Code ausführen, erhalten wir die folgende Ausgabe:
Count of binary strings without consecutive 1&rsquo;s of 10 is : 144
Count of binary strings without consecutive 1&rsquo;s of 7 is : 34
Count of binary strings without consecutive 1&rsquo;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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen