Proc 48. Учитывая, что наименьшее общее кратное двух целых положительных чисел A и B равно A\(\cdot\)(B/НОД(A, B)), где НОД(A, B) — наибольший общий делитель A и B, и используя функцию NOD2 из задания Proc46, описать функцию NOK2(A, B) целого типа, находящую наименьшее общее кратное чисел A и B. С помощью NOK2 найти наименьшие общие кратные пар (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

def NOK2(A,B):
return A * B / NOD2(A,B)

for i in range(0,4):
A = random.randrange(1,100)
B = random.randrange(1,100)

y = NOK2(A,B)
print(A,";",B,";",y)
print(y,":",A,"=",y/A)
print(y,":",B,"=",y/B)
print()