Давайте вновь поможем воспитательнице учить ребят числам. Напишите программу, которая строит числовой прямоугольник требуемого размера.
Формат ввода
В первой строке записано число 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
Решение
Как и в прошлой задаче, существует два способа решения этой задачи.
Наивный заключается в том, чтобы построить зависимость числа от его местоположения в квадрате.
Но можно схитрить, если заметить, что строка всегда начинается с номера строки, а расстояние между соседними элементами равно высоте таблицы.
Ниже представлены оба варианта решения задачи.
Посмотреть код
Решение
# Наивный метод
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()
Решение
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()