Các số tự nhiên bao gồm 0 được định nghĩa chính thức dưới dạng tập hợp, theo cách sau :
- Số 0 được định nghĩa là tập hợp trống, {}
- Với n ≥ 0, số n +1 được định nghĩa là n ∪ { n }.
Kết quả là, n = {0, 1, ..., n -1}.
Các số đầu tiên, được xác định bởi thủ tục này, là:
- 0 = {}
- 1 = {{}}
- 2 = {{}, {{}}}
- 3 = {{}, {{}}, {{}, {{}}}}
Thử thách
Cho n
, xuất đại diện của nó như là một bộ.
Quy tắc
Đầu ra luôn có thể sử dụng bất kỳ ký tự dấu ngoặc nào {}
, như []
, ()
hoặc <>
. Các ký tự tùy ý (như 01
) không được phép.
Thay vì dấu phẩy như trên, dấu phân cách có thể là bất kỳ dấu chấm câu nào; hoặc nó có thể không tồn tại.
Không gian (không phải dòng mới) có thể được bao gồm tùy ý và không nhất quán.
Ví dụ: số 2 với dấu ngoặc vuông và dấu chấm phẩy làm dấu phân cách là [[]; [[]]]
hoặc tương đương [ [ ]; [ [ ] ] ]
hoặc thậm chí[ [ ] ;[ []]]
Thứ tự mà các phần tử của một tập hợp được chỉ định không quan trọng. Vì vậy, bạn có thể sử dụng bất kỳ thứ tự trong đại diện. Ví dụ: đây là một số đầu ra hợp lệ cho 3
:
{{},{{}},{{},{{}}}}
{{{}},{{},{{}}},{}}
{{{}},{{{}},{}},{}}
Bạn có thể viết một chương trình hoặc chức năng . Đầu ra có thể là một chuỗi hoặc, nếu sử dụng hàm, bạn có thể trả về một danh sách hoặc mảng lồng nhau có biểu diễn chuỗi phù hợp với ở trên.
Các trường hợp thử nghiệm
0 -> {}
1 -> {{}}
2 -> {{},{{}}}
3 -> {{},{{}},{{},{{}}}}
4 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
5 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}
6 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}
7 -> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}}}}