問題
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))