Форум » Электронные таблицы » ege 9 - 100 сел в лужу, как проверить, что три числа взаимно простые » Ответить

ege 9 - 100 сел в лужу, как проверить, что три числа взаимно простые

s11kai: Помогите, кто может! 100) (А. Комков, Челябинск). Откройте файл электронной таблицы 9-97.xls, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел могут быть примитивными пифагоровыми тройками, то есть являться сторонами прямоугольного треугольника и взаимно простыми между собой. Первую половину вроде сделал, а вот как проверить что эти числа взаимно просты, не догоняю [pre2] 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() [/pre2] Спасибо

Ответов - 2

Поляков: s11kai пишет: как проверить что эти числа взаимно просты, не догоняю Самое простое - проверить все возможные общие делители. Если нашли число, на которое делятся все числа тройки, то они не взаимно просты. [pre2] 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) ) [/pre2]

s11kai: Спасибо огромное, Константин Юрьевич!



полная версия страницы