Натуральные числа а, b, с называются числами Пифагора, если выполняется условие а^2+b^2=c^2 Напечатать все числа Пифагора, меньшие N. (python) ​

Отличницааа5 Отличницааа5    3   07.04.2021 23:42    22

Ответы
Ангелинка2007 Ангелинка2007  07.05.2021 23:43

N = int(input())

for u in range(1, N):

   for k in range(1, N):

       for b in range(1, N):

           if u**2 + k**2 == b**2:

               print(u, k, b)

Объяснение:

Сначала инициализируем переменную, в которую запишется введенное N с клавы. Далее перебираем все числа от 1 до N, и так три раза. Каждый перебор имеет свое значение: for u - это заготовка для операций с "a"; for k - заготовка для операций с "b"; ну и for b - для "с". В самом конце мы сравниваем их квадраты с значением из for b. Немного сложно понять, но вот на примере: ввели 15, перебираем каждое число из промежутка от 1 до 15, сначала взяв 1 (u), потом снова берем 1 (k), потом снова берем 1 (b), сумма 1**2 + 1**2 не равно 1**2, идем дальше значит. Берем из этого промежутка 1 (u), потом опять 1 (k), а вот сейчас взяли 2 (b), сумма 1**2 + 1**2 не равна 2**2, опять не подошло. Этим я хотел показать, что значения постепенно меняются с конца, с последнего for. Последний for дошел до числа 15? теперь начнет меняться for, который выше. Так раз за разом переберутся все возможные значения.

Надеюсь, более-менее понятно :c

Лучше порешай подобные задания на вложенные циклы на других ресурсах, понимание с практикой придет

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика