Dado un número positivo N, la tarea aquí es imprimir el valor binario de los números del 1 al N. Para este propósito, se pueden usar varios enfoques.
La representación binaria de un número es su valor equivalente usando solo 1 y 0. Ejemplo para k = 15, el valor binario es 1 1 1 1
Método 1: Uso del método elemental con recursividad.
Acercarse
- Divide k entre 2.
- Llamada recursiva a la función e imprime el resto al regresar de la llamada recursiva.
- Repita los pasos anteriores hasta que k sea mayor que 1.
- Repita los pasos anteriores hasta llegar a N
Programa:
Python3
# code to print binary values of first 5 numbers # recursive function def Print_Binary_Values(num): # base condition if(num > 1): Print_Binary_Values(num // 2) print(num % 2, end="") # driver code if __name__ == "__main__": N = 5 # looping N times for i in range(1, N+1): Print_Binary_Values(i) print(end=" ")
Producción
1 10 11 100 101
Método 2: Uso del operador bit a bit.
Acercarse
- Comprobar si k > 1
- Desplace el número a la derecha en 1 bit y realice una llamada recursiva en la función
- Imprimir los bits de número
- Repetir los pasos hasta llegar a N
Programa:
Python3
# code to print binary values of first 5 numbers # recursive function def Print_Binary_Values(num): # base condition if(num > 1): Print_Binary_Values(num >> 1) print(num & 1, end="") # driver code if __name__ == "__main__": N = 5 # looping N times for i in range(1, N+1): Print_Binary_Values(i) print(end=" ")
Producción
1 10 11 100 101
Método 3: usar la biblioteca incorporada de Python
bin() es una función de python incorporada que puede convertir cualquier número decimal que se le dé como entrada a su binario equivalente.
Sintaxis:
papelera (número)
aquí número es el número decimal que se convierte a binario
Programa
Python3
# code to print first 5 binary number using builtIn library def Print_Binary_Number(num): for i in range(1, num+1): # using bin to print binary value print(int(bin(i).split('0b')[1]), end=" ") # driver code if __name__ == "__main__": num = 5 Print_Binary_Number(num)
Producción
1 10 11 100 101
Publicación traducida automáticamente
Artículo escrito por uchiha1101 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA