Python程序打印从1到N的数字的二进制值
给定一个正数 N,这里的任务是打印从 1 到 N 的数字的二进制值。为此可以使用各种方法。
数字的二进制表示是仅使用 1 和 0 的等效值。 k = 15 的示例,二进制值为 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)
输出
1 10 11 100 101
方法 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=" ")
输出
1 10 11 100 101
方法 3:使用Python内置库
bin() 是一个内置的Python函数,可以将作为输入的任何十进制数转换为其等效的二进制数。
句法:
bin (number)
这里的数字是转换为二进制的十进制数
程序
蟒蛇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)
输出
1 10 11 100 101