Циклы · 21 из 26
Забор между участками
Задействованы также: Условия
Столбы для забора ставят через равные промежутки, но там, где на пути попадается дерево, столб сдвигают на метр дальше. Два столба подряд сдвигать нельзя — тогда столб просто пропускают.
Что сделать
Расставьте столбы забора через равный шаг, обходя деревья.
Что приходит
dlina— длина забора в метрах, целоеshag— шаг между столбами, целое больше нуляderevya— где растут деревья, в метрах от начала
Что вернуть
Список позиций поставленных столбов; на дереве столб встаёт на метр дальше, но два сдвига подряд не делают — столб пропускается.
Допишите функцию skolko_stolbov в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Забор 10 метров, шаг 2, деревья на 4 и 6. Столбы на 0 и 2; на 4 дерево — столб сдвигается на 5; на 6 тоже дерево, а сдвигали только что — этот столб пропускают. Дальше 8 и 10: [0, 2, 5, 8, 10].
skolko_stolbov(10, 2, [4])
[0, 2, 5, 6, 8, 10]
Функция принимает: длину забора в метрах (целое), шаг между столбами (целое больше нуля) и список позиций деревьев в метрах. Столбы ставят на 0, шаг, два шага и так далее, не дальше длины забора. Если позиция занята деревом, столб ставят на метр дальше — но только если предыдущий столб не сдвигали и новая позиция свободна и не дальше длины забора. Иначе столб пропускают. Возвращает список позиций поставленных столбов.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.