вівторок, 23 квітня 2013 р.

Найбільший спільний дільник і найменше спільне кратне

Приклади знаходження найбільшого спільного дільника і найменшого спільного кратного на Python.

Найбі́льший спі́льний дільни́к (НСД) — найбільше натуральне число, на яке ці числа діляться без залишку.

Найменше спільне кратне (НСК) для (a, b) — найменше натуральне число яке ділиться без залишку на обидва числа a, b.

Варіант перший:
a = int(input('a = '))
b = int(input('b = '))

def evklid(a, b): # Функція знаходження найбільшого спільного дільника
    if a % b == 0:
        return b
    else:
        return evklid(b, a%b)

print (evklid(a, b))

nsk = a * b // evklid(a, b) # Знаходимо найменше спільне кратне
print (nsk)

Варіант другий:
a = int(input('a = '))
b = int(input('b = '))

def nsd(a, b): # Функція знаходження найбільшого спільного дільника
    while a*b != 0:
        if a >= b:
            a = a % b
        else:
            b = b % a
    return a + b            

print (nsd(a, b))

nsk = a * b // nsd(a, b) # Знаходимо найменше спільне кратне
print (nsk)

1 коментар: