Il tuo compito è quello di prendere un n
elemento n
di input e output di Rummy Sequence, una sequenza che ho creato (guardare su OEIS non ti aiuterà).
Definizione
Ogni elemento della sequenza Rummy è un insieme di valori di verità o falsità. Es [true, false]
. :
I passaggi per produrre un membro della sequenza Rummy sono abbastanza semplici:
- Inizia con il primo indice,
[]
(questo è l'elemento 0). - Imposta la falsità più a sinistra su verità. Se non ci sono falsi da modificare, aumentare la lunghezza dell'elenco di 1 e impostare tutti i membri del nuovo elenco su falso.
- Ripetere il passaggio 2 fino a raggiungere l'elemento
n
.
Esempio
Definiamo la nostra funzione come rummy(int n)
(roba in {}
è un passo fatto per arrivare alla risposta):
>>> rummy(5)
{[]}
{[false]}
{[true]}
{[false, false]}
{[true, false]}
[true, true]
Regole
- Si applicano scappatoie standard.
- Deve funzionare per gli input 0 attraverso il limite numerico superiore della tua lingua.
- È possibile produrre in qualsiasi modo si ritenga opportuno, purché sia chiaro che l'output è un insieme di verità / falsità.
banalità
La chiamo "Rummy Sequence" perché, a partire dall'indice 2, definisce i set che dovresti stabilire in ogni round di Progressive Rummy , in cui la falsità è un libro e la verità è una corsa.
Casi test
>>> rummy(0)
[]
>>> rummy(1)
[false]
>>> rummy(6)
[false, false, false]
>>> rummy(20)
[true, true, true, true, true]
>>> rummy(1000)
[true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
1
a 11
, si ottiene 000
invece di 100
. ; P
1*0*
.