M. Числовой прямоугольник 2.0

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

Формат ввода

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

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

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

Пример

Ввод

2
3

Вывод

1 3 5
2 4 6

Ввод

4
6

Вывод

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

Решение

Как и в прошлой задаче, существует два способа решения этой задачи.

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

Но можно схитрить, если заметить, что строка всегда начинается с номера строки, а расстояние между соседними элементами равно высоте таблицы.

Ниже представлены оба варианта решения задачи.

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

Решение

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

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

cell_width = len(str(height * width))

for i in range(1, height + 1):
    for j in range(i, i + height * (width - 1) + 1, height):
        print(f'{j:>{cell_width}}', end=' ')
        if j == i + height * (width - 1):
            print()

Решение

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

cell_width = len(str(width * height))

number = 1
for row in range(height):
    number = row + 1
    for _ in range(width):
        print(f'{number:>{cell_width}}', end=' ')
        number += height
    print()
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии