Proc 46. Описать функцию NOD2(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B, используя алгоритм Евклида:
НОД(A, B) = НОД(B, A mod B), если B \(\neq\) 0;
НОД(A, 0) = A.
С помощью этой функции найти наибольшие общие делители пар (A, B), (A, C), (A, 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
for i in range(0,4):
A = random.randrange(1,1000)
B = random.randrange(1,1000)
print(A,";",B,";",NOD2(A,B))