问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000 00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式 本试题没有输入。 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 00011 <以下部分省略>
#大体上的思想就是i递增,取余数接进空字符串里,然后逆序输出并且空位补上0
i=0
for i in range(32):
n,s=i,""
if n==0:
print("00000")
else:
while n:
m,n=n%2,int(n/2)
s=s+str(m)
print(s[::-1].zfill(5),end='')
#s[::-1]的作用是将字符串逆序输出,zfill是将缺的数字补位
print("\n")