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))