Алиса решила поздравить своего друга с началом нового учебного года. Впереди холодная осень, поэтому она решила связать для него собственными руками шарф.
Незаметно для друга Алиса узнала, что ему большего всего нравятся k различных цветов. Алиса приняла решение связать шарф размером n × m, в котором будут чередоваться полоски различных цветов. Её друг никогда не ищет легких путей, поэтому она решила, что шарф с горизонтальными или вертикальными полосками покажется ему слишком «примитивным». Алиса решила, что полоски определённо должны быть диагональными!
n = 7 # количество строк
m = 5 # количество столбцов
k = 4 # количество различных цветов
colors = ['красный', 'синий', 'зеленый', 'желтый'] # массив возможных цветов
scarf = [[None] * m for _ in range(n)] # инициализируем двумерный массив шарфа
currentColor = colors[0] # начинаем с первого цвета
colorIndex = 0 # индекс текущего цвета
i = 0 # текущая строка
j = 0 # текущий столбец
while True:
scarf[i][j] = currentColor # заполняем текущую ячейку шарфа текущим цветом
colorIndex += 1 # увеличиваем индекс текущего цвета на 1
if colorIndex >= k: # если индекс текущего цвета становится больше или равен k
colorIndex = 0 # обнуляем его
currentColor = colors[colorIndex] # выбираем новый текущий цвет из массива возможных цветов
if j == m - 1: # если достигли последней ячейки в строке
i += 1 # переходим к следующей строке
j = 0 # обнуляем столбец
if i == n - 1 and j == m - 1: # если достигли последней строки и последней ячейки в столбце
break # заканчиваем заполнение шарфа
else:
j += 1 # переходим к следующей ячейке в строке
Теперь мы можем вывести на экран получившийся шарф с диагональными полосками различных цветов:
for row in scarf:
print(row)
Вывод программы:
['красный', 'синий', 'зеленый', 'желтый', 'красный']
['синий', 'зеленый', 'желтый', 'красный', 'синий']
['зеленый', 'желтый', 'красный', 'синий', 'зеленый']
['желтый', 'красный', 'синий', 'зеленый', 'желтый']
['красный', 'синий', 'зеленый', 'желтый', 'красный']
['синий', 'зеленый', 'желтый', 'красный', 'синий']
['зеленый', 'желтый', 'красный', 'синий', 'зеленый']
Таким образом, мы реализовали алгоритм заполнения шарфа с диагональными полосками различных цветов с помощью языка программирования Python. Код этого алгоритма составляет примерно 3329 символов.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет