Introduction
En mathématiques, le plus petit commun multiple (PCM) est le plus petit entier positif qui est divisible par deux ou plusieurs nombres sans laisser de reste. Par exemple, le PCM de 4 et 6 est 12, car 12 est le plus petit nombre qui est divisible à la fois par 4 et 6.
Plus petit commun multiple
Écrivez une fonction lcm(numbers) qui prend une liste de nombres en argument et renvoie leur plus petit commun multiple. Votre fonction devrait utiliser la formule suivante pour calculer le PCM de deux nombres x et y : lcm(x, y) = x * y / pgcd(x, y), où pgcd(x, y) est le plus grand diviseur commun de x et y.
Pour résoudre ce problème, vous pouvez utiliser la fonction functools.reduce() pour appliquer la formule lcm() à tous les nombres de la liste. Vous pouvez également utiliser la fonction math.gcd() pour calculer le plus grand diviseur commun de deux nombres.
from functools import reduce
from math import gcd
def lcm(numbers):
return reduce((lambda x, y: int(x * y / gcd(x, y))), numbers)
lcm([12, 7]) ## 84
lcm([1, 3, 4, 5]) ## 60
Sommaire
Dans ce défi, vous avez appris à calculer le plus petit commun multiple d'une liste de nombres à l'aide des fonctions functools.reduce() et math.gcd(). La fonction lcm() utilise la formule lcm(x, y) = x * y / pgcd(x, y) pour calculer le PCM de deux nombres.