Dado um número positivo N, a tarefa aqui é imprimir o valor binário dos números de 1 a N. Para esse propósito, várias abordagens podem ser usadas. 

A representação binária de um número é seu valor equivalente usando 1 e 0 apenas. Exemplo para k = 15, o valor binário é 1 1 1 1

TRABALHANDO PARA O MÉTODO 1

Método 1: Usando o método Elementary com recursão.

Abordagem

  • Divida k por 2.
  • Chamada recursiva na função e imprime o resto ao retornar da chamada recursiva.
  • Repita as etapas acima até k ser maior que 1.
  • Repita as etapas acima até chegarmos a N

Programa:

  
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=" ") 

Resultado



1 10 11 100 101 

Método 2: Usando o Operador Bitwise.

Abordagem

  • Verifique se k> 1
  • Desloque o número para a direita em 1 bit e execute uma chamada recursiva na função
  • Imprime os bits do número
  • Repita as etapas até chegarmos a N

Programa:

  
  
  
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=" ") 

Resultado

1 10 11 100 101 

Método 3: usando a biblioteca embutida de Python

bin() é uma função python embutida que pode converter qualquer número decimal dado a ela como entrada para seu binário equivalente.

Sintaxe:

bin (número) 

aqui, o número é o número decimal que é convertido em binário 

Programa

  
  
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) 

Resultado

1 10 11 100 101