Heim > Backend-Entwicklung > C++ > Hauptteil

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

WBOY
Freigeben: 2023-09-04 22:09:08
nach vorne
1047 Leute haben es durchsucht

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;
    }
    Nach dem Login kopieren

    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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage