📜  Python程序打印从1到N的数字的二进制值

📅  最后修改于: 2022-05-13 01:55:45.296000             🧑  作者: Mango

Python程序打印从1到N的数字的二进制值

给定一个正数 N,这里的任务是打印从 1 到 N 的数字的二进制值。为此可以使用各种方法。

数字的二进制表示是仅使用 1 和 0 的等效值。 k = 15 的示例,二进制值为 1 1 1 1

为方法 1 工作

方法 1:使用带递归的基本方法。

方法

  • 将 k 除以 2。
  • 递归调用函数并在从递归调用返回时打印余数。
  • 重复以上步骤直到k大于1。
  • 重复以上步骤直到我们达到N

程序:

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


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


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)


输出

方法 2:使用按位运算符。

方法

  • 检查 k > 1
  • 将数字右移 1 位并对函数执行递归调用
  • 打印数字的位
  • 重复步骤直到我们达到 N

程序:

蟒蛇3

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

输出

方法 3:使用Python内置库

bin() 是一个内置的Python函数,可以将作为输入的任何十进制数转换为其等效的二进制数。

句法:

这里的数字是转换为二进制的十进制数

程序

蟒蛇3

# 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)

输出