Bei einer positiven Zahl N besteht die Aufgabe hier darin, den Binärwert von Zahlen von 1 bis N zu drucken. Zu diesem Zweck können verschiedene Ansätze verwendet werden. 

Die binäre Darstellung einer Zahl ist ihr äquivalenter Wert, wenn nur 1 und 0 verwendet werden. Beispiel für k = 15, Binärwert ist 1 1 1 1

ARBEITEN FÜR METHODE 1

Methode 1: Verwenden der Elementarmethode mit Rekursion.

Ansatz

  • Teilen Sie k durch 2.
  • Rekursiver Aufruf der Funktion und Drucken des Restes während der Rückkehr vom rekursiven Aufruf.
  • Wiederholen Sie die obigen Schritte, bis k größer als 1 ist.
  • Wiederholen Sie die obigen Schritte, bis wir N erreichen

Programm:

  
def Print_Binary_Values(num): 
    
    if(num > 1): 
        Print_Binary_Values(num // 2) 
    print(num % 2, end="") 
  
  
if __name__ == "__main__": 
    N = 5
  
    
    for i in range(1, N+1): 
        Print_Binary_Values(i) 
        print(end=" ") 

Ausgabe



1 10 11 100 101 

Methode 2: Verwenden des bitweisen Operators.

Ansatz

  • Überprüfen Sie, ob k> 1 ist
  • Verschieben Sie die Zahl nach rechts um 1 Bit und führen Sie einen rekursiven Aufruf der Funktion durch
  • Drucken Sie die Zahlenbits
  • Wiederholen Sie die Schritte, bis wir N erreichen

Programm:

  
  
  
def Print_Binary_Values(num): 
  
    
    if(num > 1): 
        Print_Binary_Values(num >> 1) 
    print(num & 1, end="") 
  
  
if __name__ == "__main__": 
    N = 5
  
    
    for i in range(1, N+1): 
        Print_Binary_Values(i) 
        print(end=" ") 

Ausgabe

1 10 11 100 101 

Methode 3: Verwenden der eingebauten Python-Bibliothek

bin() ist eine eingebaute Python-Funktion, die jede Dezimalzahl, die ihr als Eingabe gegeben wurde, in ihre entsprechende Binärdatei konvertieren kann.

Syntax:

bin (Nummer) 

Hier ist number die Dezimalzahl, die in eine Binärzahl konvertiert wird 

Programm

  
  
def Print_Binary_Number(num): 
    for i in range(1, num+1): 
  
        
        print(int(bin(i).split('0b')[1]), end=" ") 
  
  
if __name__ == "__main__": 
    num = 5
    Print_Binary_Number(num) 

Ausgabe

1 10 11 100 101