Fonction math.lcm() de Python
En théorie des nombres,le plus petit commun multiple(Plus petit commun multiple, abrégé en PPCM) est un concept très important. Il est utilisé pour trouver le plus petit parmi les multiples communs de deux entiers ou plus.
math.lcm()est une fonction introduite dans Python 3.9, spécifiquement utilisée pour calculer leplus petit commun multiple (PPCM)。
Explication du terme: lcmest l'abréviation de « Plus Petit Commun Multiple », qui signifie « plus petit commun multiple ».
Syntaxe de base et paramètres
Format de syntaxe
import math math.lcm(*integers)
Description du paramètre
- Paramètre:
*integers- Nombre variable d'entiers (au moins un) - Description: Les entiers pour lesquels calculer le plus petit commun multiple.
Valeur de retour
- Renvoie le plus petit commun multiple de tous les entiers d'entrée
- Si un seul entier est passé, renvoie la valeur absolue de cet entier
- Si 0 est passé, renvoie 0
Exemples
Exemple 1: Utilisation de base - Calcul du PPCM de deux nombres
Exemple
import math
print("PPCM de 4 et 6:", math.lcm(4, 6)) # 12
print("PPCM de 5 et 7:", math.lcm(5, 7)) # 35
print("PPCM de 12 et 18:", math.lcm(12, 18)) # 36
# Vérifier la formule
a, b = 4, 6
print(f"\n"Vérification : PPCM({a}, {b}) = {a} * {b} / PGCD({a}, {b}) = {a*b//math.gcd(a,b)}")
print("PPCM de 4 et 6:", math.lcm(4, 6)) # 12
print("PPCM de 5 et 7:", math.lcm(5, 7)) # 35
print("PPCM de 12 et 18:", math.lcm(12, 18)) # 36
# Vérifier la formule
a, b = 4, 6
print(f"\n"Vérification : PPCM({a}, {b}) = {a} * {b} / PGCD({a}, {b}) = {a*b//math.gcd(a,b)}")
Résultat de l'exécution :
4 和 6 的 LCM: 12 5 和 7 的 LCM: 35 12 和 18 的 LCM: 36 验证: LCM(4, 6) = 4 * 6 / GCD(4, 6) = 12
Exemple 2 : Calcul du PPCM de plusieurs nombres
Exemple
import math
print("PPCM de 3, 4, 5 :", math.lcm(3, 4, 5)) # 60
print("PPCM de 6, 8, 12 :", math.lcm(6, 8, 12)) # 24
print("PPCM de 2, 3, 4, 5 :", math.lcm(2, 3, 4, 5)) # 60
print("PPCM de 3, 4, 5 :", math.lcm(3, 4, 5)) # 60
print("PPCM de 6, 8, 12 :", math.lcm(6, 8, 12)) # 24
print("PPCM de 2, 3, 4, 5 :", math.lcm(2, 3, 4, 5)) # 60
Résultat de l'exécution :
3, 4, 5 的 LCM: 60 6, 8, 12 的 LCM: 24 2, 3, 4, 5 的 LCM: 60
Exemple 3 : Traitement des valeurs spéciales
Exemple
import math
print("Entier unique 7 :", math.lcm(7))
print("PPCM de 0 et 5 :", math.lcm(0, 5))
print("PPCM de -4 et 6 :", math.lcm(-4, 6))
print("Entier unique 7 :", math.lcm(7))
print("PPCM de 0 et 5 :", math.lcm(0, 5))
print("PPCM de -4 et 6 :", math.lcm(-4, 6))
Résultat de l'exécution :
单个整数 7: 7 0 和 5 的 LCM: 0 -4 和 6 的 LCM: 12
Exemple 4 : Application pratique - Réduction de fractions à un dénominateur commun
Exemple
import math
# Addition de fractions : 1/4 + 1/6
denom1, denom2 = 4, 6
common_denom = math.lcm(denom1, denom2)
numer1 = 1 * (common_denom // denom1)
numer2 = 1 * (common_denom // denom2)
result = numer1 + numer2
print(f"1/{denom1} + 1/{denom2} = {numer1}/{common_denom} + {numer2}/{common_denom} = {result}/{common_denom}")
# Addition de fractions : 1/4 + 1/6
denom1, denom2 = 4, 6
common_denom = math.lcm(denom1, denom2)
numer1 = 1 * (common_denom // denom1)
numer2 = 1 * (common_denom // denom2)
result = numer1 + numer2
print(f"1/{denom1} + 1/{denom2} = {numer1}/{common_denom} + {numer2}/{common_denom} = {result}/{common_denom}")
Résultat de l'exécution :
1/4 + 1/6 = 3/12 + 2/12 = 5/12
Exemple 5 : Application pratique - Synchronisation des cycles
Exemple
import math
# Les périodes de trois feux de circulation sont 30, 45 et 60 secondes
light_cycles = [30, 45, 60]
sync_interval = math.lcm(*light_cycles)
print(f"Périodes des feux de circulation : {light_cycles}")
print(f"Intervalle de temps pour passer au vert simultanément : {sync_interval} secondes")
# Les périodes de trois feux de circulation sont 30, 45 et 60 secondes
light_cycles = [30, 45, 60]
sync_interval = math.lcm(*light_cycles)
print(f"Périodes des feux de circulation : {light_cycles}")
print(f"Intervalle de temps pour passer au vert simultanément : {sync_interval} secondes")
Résultat de l'exécution :
信号灯周期: [30, 45, 60] 同时变绿的时间间隔: 180 秒
Relation avec le PGCD
Formule: PPCM(a, b) = a × b / PGCD(a, b)
Exemple
import math
for a, b in [(4, 6), (8, 12), (15, 20)]:
lcm_val = math.lcm(a, b)
gcd_val = math.gcd(a, b)
print(f"LCM({a}, {b}) = {lcm_val}, GCD({a}, {b}) = {gcd_val}, Verify: {lcm_val * gcd_val} == {a*b} -> {lcm_val*gcd_val == a*b}")
for a, b in [(4, 6), (8, 12), (15, 20)]:
lcm_val = math.lcm(a, b)
gcd_val = math.gcd(a, b)
print(f"LCM({a}, {b}) = {lcm_val}, GCD({a}, {b}) = {gcd_val}, Verify: {lcm_val * gcd_val} == {a*b} -> {lcm_val*gcd_val == a*b}")
Résultat de l'exécution :
LCM(4, 6) = 12, GCD(4, 6) = 2, 验证: 24 == 24 -> True LCM(8, 12) = 24, GCD(8, 12) = 4, 验证: 96 == 96 -> True LCM(15, 20) = 60, GCD(15, 20) = 5, 验证: 300 == 300 -> True
Notes
math.lcm()Disponible uniquement à partir de Python 3.9+- Les nombres négatifs sont calculés en utilisant leurs valeurs absolues
- Le PPCM de 0 et de tout nombre est 0
Autres extensions
Module math de Python