Nella teoria degli insiemi, i numeri naturali sono generalmente codificati come insiemi puri , ovvero insiemi che contengono solo l'insieme vuoto o altri insiemi che sono puri . Tuttavia, non tutti gli insiemi puri rappresentano numeri naturali. Questa sfida consiste nel decidere se un determinato set puro rappresenta o meno una codifica del numero naturale.
La codifica dei numeri naturali funziona nel modo seguente 1 :
- Zero è l'insieme vuoto:
- Per un numero :
Quindi, le codifiche dei primi pochi numeri naturali sono
L'obiettivo
- Data una stringa che rappresenta un set puro, determinare se questo set codifica un numero naturale in base alla costruzione precedente.
- Nota, tuttavia, che gli elementi di un set non sono ordinati, quindi non è l'unica rappresentazione valida di , ad esempio rappresenta lo stesso set.
- È possibile utilizzare
[]
,()
o<>
al posto di{}
. - Si può presumere che i set siano dati senza il
,
separatore come. - Si può presumere che non ci sarà alcun gli elementi duplicati in ingresso, ad esempio,
{{},{}}
non è un input valido, e che l'ingresso è ben formato, ad esempio, nessun{{},
,{,{}}
o simili.
Casi test
Vero:
{}
{{}}
{{},{{}}}
{{{}},{}}
{{},{{}},{{},{{}}}}
{{{},{{}}},{},{{}}}
{{{{}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
{{{{{}},{}},{{}},{}},{{}},{},{{},{{}}}}
{{},{{}},{{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}},{{{}},{}},{{},{{}},{{},{{}}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
falso:
{{{}}}
{{{{}}}}
{{{{}},{}}}
{{},{{}},{{{}}}}
{{{},{{}}},{{}}}
{{{{{}}},{}},{{}},{}}
{{},{{}},{{},{{}}},{{},{{}},{{{}}}}}
{{{{{}},{}},{{{}}},{}},{{}},{},{{},{{}}}}
{{{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}},{{{{{}},{}},{{}},{}},{{{}},{}},{{}}},{{{{}},{}},{{}},{}},{{{}},{}},{{}},{}}
Correlati: Natural Construction (emette la codifica impostata di un determinato numero naturale.)
1 Vedi https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers