Python math.lcm()-Funktion
In der Zahlentheorie istdas kleinste gemeinsame Vielfache(Least Common Multiple, abgekürzt LCM) ein sehr wichtiges Konzept. Es wird verwendet, um das kleinste unter den gemeinsamen Vielfachen von zwei oder mehr ganzen Zahlen zu finden.
math.lcm()ist eine in Python 3.9 eingeführte Funktion, die speziell zur Berechnung deskleinsten gemeinsamen Vielfachen (LCM) dient。
Begriffserklärung: lcmist die Abkürzung für "Least Common Multiple", was "kleinstes gemeinsames Vielfaches" bedeutet.
Grundlegende Syntax und Parameter
Syntaxformat
import math math.lcm(*integers)
Parameterbeschreibung
- Parameter:
*integers- Variable Anzahl von Ganzzahlen (mindestens eine) - Beschreibung: Die Ganzzahlen, für die das kleinste gemeinsame Vielfache berechnet werden soll.
Rückgabewert
- Gibt das kleinste gemeinsame Vielfache aller eingegebenen Ganzzahlen zurück
- Wenn nur eine Ganzzahl übergeben wird, wird der Absolutwert dieser Ganzzahl zurückgegeben
- Wenn 0 übergeben wird, wird 0 zurückgegeben
Beispiele
Beispiel 1: Grundlegende Verwendung - Berechnung des LCM von zwei Zahlen
Beispiel
import math
print("LCM von 4 und 6:", math.lcm(4, 6)) # 12
print("LCM von 5 und 7:", math.lcm(5, 7)) # 35
print("LCM von 12 und 18:", math.lcm(12, 18)) # 36
# Formel überprüfen
a, b = 4, 6
print(f"\n"Überprüfen: kgV({a}, {b}) = {a} * {b} / ggT({a}, {b}) = {a*b//math.gcd(a,b)}")
print("LCM von 4 und 6:", math.lcm(4, 6)) # 12
print("LCM von 5 und 7:", math.lcm(5, 7)) # 35
print("LCM von 12 und 18:", math.lcm(12, 18)) # 36
# Formel überprüfen
a, b = 4, 6
print(f"\n"Überprüfen: kgV({a}, {b}) = {a} * {b} / ggT({a}, {b}) = {a*b//math.gcd(a,b)}")
Run result:
4 和 6 的 LCM: 12 5 和 7 的 LCM: 35 12 和 18 的 LCM: 36 验证: LCM(4, 6) = 4 * 6 / GCD(4, 6) = 12
Beispiel 2: Berechnung des kgV mehrerer Zahlen
Beispiel
import math
print("kgV von 3, 4, 5:", math.lcm(3, 4, 5)) # 60
print("kgV von 6, 8, 12:", math.lcm(6, 8, 12)) # 24
print("kgV von 2, 3, 4, 5:", math.lcm(2, 3, 4, 5)) # 60
print("kgV von 3, 4, 5:", math.lcm(3, 4, 5)) # 60
print("kgV von 6, 8, 12:", math.lcm(6, 8, 12)) # 24
print("kgV von 2, 3, 4, 5:", math.lcm(2, 3, 4, 5)) # 60
Run result:
3, 4, 5 的 LCM: 60 6, 8, 12 的 LCM: 24 2, 3, 4, 5 的 LCM: 60
Beispiel 3: Umgang mit speziellen Werten
Beispiel
import math
print("Einzelne Ganzzahl 7:", math.lcm(7))
print("kgV von 0 und 5:", math.lcm(0, 5))
print("kgV von -4 und 6:", math.lcm(-4, 6))
print("Einzelne Ganzzahl 7:", math.lcm(7))
print("kgV von 0 und 5:", math.lcm(0, 5))
print("kgV von -4 und 6:", math.lcm(-4, 6))
Run result:
单个整数 7: 7 0 和 5 的 LCM: 0 -4 和 6 的 LCM: 12
Beispiel 4: Praktische Anwendung - Brüche auf einen gemeinsamen Nenner bringen
Beispiel
import math
# Bruchaddition: 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}")
# Bruchaddition: 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}")
Run result:
1/4 + 1/6 = 3/12 + 2/12 = 5/12
Beispiel 5: Praktische Anwendung - Zyklussynchronisation
Beispiel
import math
# Die Periodendauern von drei Ampeln betragen 30, 45 und 60 Sekunden
light_cycles = [30, 45, 60]
sync_interval = math.lcm(*light_cycles)
print(f"Periodendauern der Ampeln: {light_cycles}")
print(f"Zeitintervall für gleichzeitiges Grünwerden: {sync_interval} Sekunden")
# Die Periodendauern von drei Ampeln betragen 30, 45 und 60 Sekunden
light_cycles = [30, 45, 60]
sync_interval = math.lcm(*light_cycles)
print(f"Periodendauern der Ampeln: {light_cycles}")
print(f"Zeitintervall für gleichzeitiges Grünwerden: {sync_interval} Sekunden")
Run result:
信号灯周期: [30, 45, 60] 同时变绿的时间间隔: 180 秒
Beziehung zu GCD
Formel: LCM(a, b) = a × b / GCD(a, b)
Beispiel
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}")
Run result:
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
Hinweise
math.lcm()Nur in Python 3.9+ verfügbar- Negative Zahlen werden mit ihren Absolutwerten berechnet
- Das LCM von 0 und einer beliebigen Zahl ist 0
Andere Erweiterungen
Python math-Modul