Включения и сортировка · 8 из 17
Ковёр из «исключающего или»
Костя хочет для распродажи фон витрины без единой картинки — чтобы страница грузилась мгновенно. Дизайнер прислал рецепт из демосцены девяностых: цвет точки — «исключающее или» её координат, x ^ y, по остатку от числа цветов. Получается ковёр из вложенных квадратов, который глаз принимает за сложный орнамент. Чтобы узор был крупнее, координаты сначала делят нацело на размер клетки.
Что сделать
Соберите ковёр — сетку номеров цвета по формуле «исключающее или» от координат клетки.
Что приходит
shirinaиvysota— размер ковра в точкахkletka— во сколько раз увеличить узор: на это делят координаты нацелоcvetov— сколько цветов в палитре
Что вернуть
Список из vysota рядов по shirina чисел: в ряду y на месте x — ((x // kletka) ^ (y // kletka)) % cvetov.
Допишите функцию kover в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
kover(4, 4, 1, 4)
[[0, 1, 2, 3], [1, 0, 3, 2], [2, 3, 0, 1], [3, 2, 1, 0]]
Ряды идут сверху вниз (y от 0 до vysota − 1), в ряду — слева направо (x от 0 до shirina − 1). Число в точке:
((x // kletka) ^ (y // kletka)) % cvetov
^ — «исключающее или» по битам: в каждом разряде единица, если ровно в одном из чисел там единица. 5 ^ 3 — это 0b101 ^ 0b011 = 0b110 = 6.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.