Информатика, вопрос задал 3212321232123212321 , 1 год назад

Python

Необходимо найти длины сторон всех прямоугольников, площадь которых равна заданному натуральному числу S
. Стороны должны быть выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон, считаются разными.
Формат входных данных
В программу вводится одно натуральное число S
(1≤S≤10000
).

Формат выходных данных
Программа должна вывести длины сторон искомых прямоугольников, каждую пару на новой строке.

входные данные:
10
выходные данные:
1 10
2 5
5 2
10 1


3212321232123212321: Я решила
3212321232123212321: into = int(input())
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)
3212321232123212321: табы поставьте

Ответы на вопрос

Ответил nik1842
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). Это гарантирует, что мы не будем выводить одну и ту же пару дважды, даже если она получается перестановкой размеров сторон.


3212321232123212321: почти верно
Новые вопросы