Ваше завдання - взяти вхідний n
і вихідний елемент n
послідовності Rummy, послідовність, яку я створив (дивлячись на OEIS, вам не допоможе).
Визначення
Кожен елемент послідовності «Руммі» - це сукупність значень правди чи фальси. Напр [true, false]
.:
Крок до створення учасника послідовності «Руммі» досить простий:
- Почніть з першого індексу,
[]
(це елемент 0). - Встановіть крайній лівий фальс на трибуну. Якщо немає помилок, які потрібно змінити, то збільште довжину списку на 1 і встановіть усіх учасників нового списку на фальси.
- Повторіть крок 2 до досягнення елемента
n
.
Приклад
Давайте визначимо нашу функцію як rummy(int n)
(деталь {}
- це крок, щоб дійти до відповіді):
>>> rummy(5)
{[]}
{[false]}
{[true]}
{[false, false]}
{[true, false]}
[true, true]
Правила
- Застосовуються стандартні лазівки.
- Потрібно працювати для введення 0 через верхню числову межу вашої мови.
- Ви можете виводити будь-яким способом, який вважаєте за потрібне, за умови, що зрозуміло, що результат є сукупністю правди / помилок.
Дрібниці
Я називаю це "послідовністю" Руммі ", тому що, починаючи з індексу 2, він визначає набори, які вам потрібно було б скласти в кожному раунді" Прогресивної румі ", де фальси - це книга, а триут - це біг.
Випробування
>>> 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
до 11
, ви отримаєте 000
замість 100
. ; P
1*0*
.