Предмет: Информатика,
автор: 3212321232123212321
Python
Необходимо найти длины сторон всех прямоугольников, площадь которых равна заданному натуральному числу S
. Стороны должны быть выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон, считаются разными.
Формат входных данных
В программу вводится одно натуральное число S
(1≤S≤10000
).
Формат выходных данных
Программа должна вывести длины сторон искомых прямоугольников, каждую пару на новой строке.
входные данные:
10
выходные данные:
1 10
2 5
5 2
10 1
3212321232123212321:
Я решила
a = 1
b = into
a1 = 1
b1 = into
while a1 != b and b1 != a:
if into % a == 0:
b = into // a
print(a, b)
a += 1
else:
a += 1
print(b1, a1)
Ответы
Автор ответа:
0
s = int(input())
for i in range(1, s + 1):
if s % i == 0:
j = s // i
if i <= j:
print(i, j)
Сначала мы считываем входное число s, затем перебираем все числа от 1 до s. Если текущее число является делителем s, то мы находим соответствующий ему делитель j. Если i не больше j, то мы выводим пару (i, j). Это гарантирует, что мы не будем выводить одну и ту же пару дважды, даже если она получается перестановкой размеров сторон.
Похожие вопросы
Предмет: Физика,
автор: polisssy
Предмет: Математика,
автор: adrianbogodist1012
Предмет: Химия,
автор: temiknv7
Предмет: Биология,
автор: KonchenniyViperdish
Предмет: Алгебра,
автор: Kalai