N. Числовая змейка

Увы, обыкновенные прямоугольники детям быстро наскучили. Теперь воспитательнице требуется новая программа. Напишите программу, которая строит числовую змейку требуемого размера.

Формат ввода

В первой строке записано число N — высота числового прямоугольника.
Во второй строке указано число M — ширина числового прямоугольника.

Формат вывода:

Нужно вывести сформированную числовую змейку требуемого размера.
Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины.

Пример

Ввод

2
3

Вывод

1 2 3
6 5 4

Ввод

4
6

Вывод

 1  2  3  4  5  6
12 11 10  9  8  7
13 14 15 16 17 18
24 23 22 21 20 19

Решение

Развитие наивного метода решения предыдущей задачи L. Числовой прямоугольник.

Алгоритмический метод решения требует знакомства со списками, поэтому мы его отпускаем и сконцентрируемся на наивном.

Решение от прошлого отличается только тем, что каждая четная строка развернута задом-наперед. Нам остается всего лишь учесть это в нашей формуле.

Посмотреть код

Решение

Python
# Наивный метод

height = int(input())
width = int(input())

ceil_width = len(str(width * height))

if height > 0 and width > 0:
    for row in range(height):
        for column in range(width):
            if (row % 2) == 0:
                num = row * width + column + 1
            else:
                num = (row + 1) * width - column
            print(f'{num:>{ceil_width}}', end=' ')
        print()
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Mazen
Mazen
06.08.2025 08:41

N = int(input())
M = int(input())

count = 0
maxi = N * M
ln = len(str(maxi))
for i in range(N):
    if i % 2 == 0:
        count_ = count + 1
        for j in range(M):
            print(f‘{count_:>{ln}}’, end=” “)
            count_ += 1
        count = count_
        print()
    else:
        count = count + M – 1
        count_ = count
        for j in range(M):
            print(f‘{count_:>{ln}}’, end=” “)
            count_ -= 1

        print()