Ваша задача - взять 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*.