Натуральні числа, включаючи 0, формально визначаються як множини наступним чином :
- Число 0 визначається як порожній набір, {}
- Для n ≥ 0 число n +1 визначається як n ∪ { n }.
Як наслідок, n = {0, 1, ..., n -1}.
Першими числами, визначеними цією процедурою, є:
- 0 = {}
- 1 = {{}}
- 2 = {{}, {{}}}
- 3 = {{}, {{}}, {{}, {{}}}}
Виклик
Дано n
, виведіть його подання у вигляді набору.
Правила
Вихід може послідовно використовувати будь-який кронштейн символ , такі як {}
, []
, ()
або <>
. Довільні символи (такі як 01
) не допускаються.
Замість коми, як зазначено вище, роздільником може бути будь-який розділовий знак; або це може бути відсутнім.
Пробіли (а не нові рядки) можуть бути включені довільно та непослідовно.
Наприклад, число 2 з квадратними дужками і крапкою з комою як роздільник є [[]; [[]]]
, або рівнозначно [ [ ]; [ [ ] ] ]
, або парним[ [ ] ;[ []]]
Порядок , в якому елементи множини визначається не має значення. Таким чином, ви можете використовувати будь-яке замовлення в представництві. Наприклад, це кілька дійсних результатів для 3
:
{{},{{}},{{},{{}}}}
{{{}},{{},{{}}},{}}
{{{}},{{{}},{}},{}}
Ви можете написати програму або функцію . Вихідним може бути рядок, або, використовуючи функцію, ви можете повернути вкладений список або масив, представлення якого рядка відповідає вищезазначеному.
Тестові справи
0 -> {}
1 -> {{}}
2 -> {{},{{}}}
3 -> {{},{{}},{{},{{}}}}
4 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
5 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}
6 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}
7 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}}