Ваша задача - взять n
элемент ввода и вывода n
последовательности Рамми, последовательность, которую я сделал (просмотр OEIS вам не поможет).
Определение
Каждый элемент последовательности Рамми представляет собой набор истинных или ложных значений. Напр .: [true, false]
.
Шаги по созданию члена последовательности Рамми довольно просты:
- Начните с первого индекса
[]
(это элемент 0). - Установите самую левую ложь на правду. Если нет ложных значений, которые нужно изменить, увеличьте длину списка на 1 и установите для всех членов нового списка значение false.
- Повторите шаг 2 до достижения элемента
n
.
пример
Давайте определим нашу функцию как rummy(int n)
(вещи в {}
шаге, чтобы добраться до ответа):
>>> rummy(5)
{[]}
{[false]}
{[true]}
{[false, false]}
{[true, false]}
[true, true]
правила
- Применяются стандартные лазейки.
- Должен работать для входов 0 через верхнюю числовую границу вашего языка.
- Вы можете выводить любым способом, который считаете нужным, при условии, что ясно, что вывод представляет собой набор truey / falseys.
пустяки
Я называю это «Рамми Рамми», потому что, начиная с индекса 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*
.