Os números naturais, incluindo 0, são formalmente definidos como conjuntos, da seguinte maneira :
- O número 0 é definido como o conjunto vazio, {}
- Para n ≥ 0, o número n +1 é definido como n ∪ { n }.
Como conseqüência, n = {0, 1, ..., n -1}.
Os primeiros números, definidos por este procedimento, são:
- 0 = {}
- 1 = {{}}
- 2 = {{}, {{}}}
- 3 = {{}, {{}}, {{}, {{}}}}
Desafio
Dado n
, produza sua representação como um conjunto.
Regras
A saída pode consistentemente usar qualquer suporte de caracteres, tais como {}
, []
, ()
ou <>
. Caracteres arbitrários (como 01
) não são permitidos.
Em vez de uma vírgula como acima, o separador pode ser qualquer sinal de pontuação; ou pode ser inexistente.
Os espaços (não as novas linhas) podem ser incluídos de forma arbitrária e inconsistente.
Por exemplo, o número 2 com colchetes e ponto e vírgula como separador é [[]; [[]]]
, ou equivalente [ [ ]; [ [ ] ] ]
, ou mesmo[ [ ] ;[ []]]
A ordem na qual os elementos de um conjunto são especificados não importa. Então você pode usar qualquer ordem na representação. Por exemplo, estas são algumas saídas válidas para 3
:
{{},{{}},{{},{{}}}}
{{{}},{{},{{}}},{}}
{{{}},{{{}},{}},{}}
Você pode escrever um programa ou função . A saída pode ser uma sequência ou, se estiver usando uma função, você pode retornar uma lista ou matriz aninhada cuja representação de sequência esteja em conformidade com o acima.
Casos de teste
0 -> {}
1 -> {{}}
2 -> {{},{{}}}
3 -> {{},{{}},{{},{{}}}}
4 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
5 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}
6 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}
7 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}}