Давайте вновь поможем воспитательнице учить ребят числам. Напишите программу, которая строит числовой прямоугольник требуемого размера.
Формат ввода
В первой строке записано число 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()
n = int(input()) # высота m = int(input()) # ширина a = 0 b = 0 for i in range(1, n + 1): a = i for j in range(m): b = j number = a + (b * n) if number <= 9: print(end=' ') print(number, end=' ') print()