Proc 49. Учитывая соотношение НОД(A, B, C) = НОД(НОД(A, B), C) и используя функцию NOD2 из задания Proc46, описать функцию NOD3(A, B, C) целого типа, находящую наибольший общий делитель трех целых положительных чисел A, B, C. С помощью этой функции найти наибольшие общие делители троек (A, B, C), (A, C, D) и (B, C, D), если даны числа A, B, C, D.
Решение на Python 3
import random
import math
def NOD2(A,B):
while B != 0:
A,B = B,A%B
return A
def NOD3(A,B,C):
return NOD2(NOD2(A,B),C)
for i in range(0,10):
A = random.randrange(1,100)
B = random.randrange(100,300)
C = random.randrange(300,500)
y = NOD3(A,B,C)
print(A,";",B,";",C,";",y)
print()