Twoim zadaniem jest pobranie elementu wejściowego n
i wyjściowego n
Sekcji remika, sekwencji, którą zrobiłem (przeglądanie OEIS ci nie pomoże).
Definicja
Każdy element Sekwencji remika jest zbiorem prawdziwych lub falseyowych wartości. Np [true, false]
.:
Kroki do stworzenia członka Sekwencji remika są dość proste:
- Zacznij od pierwszego indeksu
[]
(jest to element 0). - Ustaw lewy falsey na prawdę. Jeśli nie ma żadnych fałszów do zmiany, zwiększ długość listy o 1 i ustaw wszystkich członków nowej listy na falsey.
- Powtarzaj krok 2, aż osiągniesz element
n
.
Przykład
Zdefiniujmy naszą funkcję jako rummy(int n)
(wpis {}
jest krokiem do uzyskania odpowiedzi):
>>> rummy(5)
{[]}
{[false]}
{[true]}
{[false, false]}
{[true, false]}
[true, true]
Zasady
- Obowiązują standardowe luki.
- Musi działać dla danych wejściowych 0 przez górną granicę liczbową języka.
- Możesz wyprowadzać dane w dowolny sposób, jaki uznasz za stosowny, pod warunkiem, że jest jasne, że dane wyjściowe są zbiorem prawdy / fałszu.
Drobnostki
Nazywam to „Sekwencją remika”, ponieważ począwszy od indeksu 2, określa zestawy, które należy ustawić w każdej rundzie Progresywnego Remika , gdzie falsey jest książką, a prawdą jest bieg.
Przypadki testowe
>>> 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
do 11
, dostajesz 000
zamiast 100
. ; P
1*0*
.