Автор | Сообщение |
|
Отправлено: 02.03.23 12:44. Заголовок: ege 9 - 100 сел в лужу, как проверить, что три числа взаимно простые
Помогите, кто может! 100) (А. Комков, Челябинск). Откройте файл электронной таблицы 9-97.xls, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел могут быть примитивными пифагоровыми тройками, то есть являться сторонами прямоугольного треугольника и взаимно простыми между собой. Первую половину вроде сделал, а вот как проверить что эти числа взаимно просты, не догоняю otvet = 0 si=[0]*3 fail = open("9-97.txt") for s in fail: a = [int(b) for b in s.split()] for j in range(3): si[j] = int(a[j]) ss=sorted(si) if ss[2]==(ss[0]**2+ss[1]**2)**0.5: otvet=otvet+1 print('otvet',otvet) fail.close() Спасибо
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 3920
|
|
Отправлено: 02.03.23 12:59. Заголовок: s11kai пишет: как п..
s11kai пишет: цитата: | как проверить что эти числа взаимно просты, не догоняю |
|
Самое простое - проверить все возможные общие делители. Если нашли число, на которое делятся все числа тройки, то они не взаимно просты. def coprime( a, b, c ): triple = [a, b, c] for d in range(2,min(triple)+1): if all( x % d == 0 for x in triple ): return False return True print( coprime( 3, 6, 9) )
|
|
|
|
Отправлено: 02.03.23 13:09. Заголовок: Спасибо огромное, Ко..
Спасибо огромное, Константин Юрьевич!
|
|
|
|