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