問題
N桁のビット列を全て求めなさい。
回答
その1
def apped_zero_one_front(x, L):
return [x + i for i in L]
def bit_strings(n):
if n == 0:
return []
if n == 1:
return ['0', '1']
else:
return apped_zero_one_front('0', bit_strings(n-1)) \
+ apped_zero_one_front('1', bit_strings(n-1))
print(bit_strings(1))
その2
def bit_strings(n):
if n == 0:
return []
if n == 1:
return ['0', '1']
ans = []
for bs in bit_strings(n-1):
for digit in bit_strings(1):
ans.append(digit + bs)
return ans
print(bit_strings(4))