Общий раздел

Python. Режем пирог на ровное количество кусочков для двух команд

Нужно заранее разрезать пирог таким образом, чтобы можно было раздать кусочки пирога любой команде, выигравшей соревнование, при этом каждому участнику этой команды должно достаться одинаковое число кусочков пирога. И так как не хочется резать пирог на слишком мелкие кусочки, нужно найти минимальное подходящее число.

В Лицее между информатиками и литераторами устраивается соревнование. Победителям соревнования достанется большой и вкусный пирог от местной столовой. В команде литераторов x человек, а в команде информатиков — y человек.

Нужно заранее разрезать пирог таким образом, чтобы можно было раздать кусочки пирога любой команде, выигравшей соревнование, при этом каждому участнику этой команды должно достаться одинаковое число кусочков пирога. И так как не хочется резать пирог на слишком мелкие кусочки, нужно найти минимальное подходящее число.

Напишите программу, которая помогает найти это число.
Программа должна считывать размеры команд (два положительных целых числа х и y, каждое число вводится на отдельной строке) и выводить наименьшее число z, которое делится на оба этих числа без остатка.

Вариант 1:

x = int (input ())
y = int (input ())

for i in range (x*y):
    i+=1
    if i%x==0 and i%y==0:
        print ('Минимальное количество кусочков = ', i)
        break

Вариант 2:

import math  

a, b = int(input()), int(input())

print(a * b // math.gcd(a, b)) #  math.gcd - наибольший общий делитель

Оставьте комментарий