编写一个 Python示例,使用 While 循环、函数和递归来查找两个数的 LCM。
在数学中,两个或两个以上整数的最小公倍数(LCM)是最小的正整数,它可以被给定的整数值完美整除而没有余数。例如,整数 2 和 3 的 LCM 值是 12,因为 12 是可被 2 和 3 整除的最小正整数(余数为 0)。
这个 python 程序允许用户输入两个正整数值。在 Python while 循环中,我们使用 If 语句来检查最大% a 和最大% b 的余数是否等于零。如果为真,最小公倍数=最大值,否则跳过该值。
a = float(input(" Please Enter the First Value a: "))
b = float(input(" Please Enter the Second Value b: "))
if(a > b):
maximum = a
else:
maximum = b
while(True):
if(maximum % a == 0 and maximum % b == 0):
print("\n Least Common Multiple of {0} and {1} = {2}".format(a, b, maximum))
break;
maximum = maximum + 1
Please Enter the First Value a: 15
Please Enter the Second Value b: 20
Least Common Multiple of 15.0 and 20.0 = 60.0
这个 Python LCM 程序同上。然而,我们正在使用功能分离逻辑
def findLeastCM(a, b):
if(a > b):
maximum = a
else:
maximum = b
while(True):
if(maximum % a == 0 and maximum % b == 0):
Val = maximum;
break;
maximum = maximum + 1
return Val
num1 = float(input(" Please Enter the First : "))
num2 = float(input(" Please Enter the Second : "))
Val = findLeastCM(num1, num2)
print("\n Least Common Multiple of {0} and {1} = {2}".format(num1, num2, Val))
Please Enter the First : 20
Please Enter the Second : 45
Least Common Multiple of 20.0 and 45.0 = 180.0
这个 python 程序找到两个数字的 GCD。利用这个,我们计算出 LCM。这里,我们使用 Temp 变量来查找 GCD。
num1 = float(input(" Please Enter the First : "))
num2 = float(input(" Please Enter the Second : "))
a = num1
b = num2
while(num2 != 0):
temp = num2
num2 = num1 % num2
num1 = temp
gcd = num1
print("\n GCD of {0} and {1} = {2}".format(a, b, gcd))
Val = (a * b) / gcd
print("\n LCM of {0} and {1} = {2}".format(a, b, Val))
Please Enter the First : 2
Please Enter the Second : 3
GCD of 2.0 and 3.0 = 1.0
LCM of 2.0 and 3.0 = 6.0
它允许用户输入两个正整数值,并通过递归调用 findgcd 函数来计算这两个值的 GCD。
def findgcd(a, b):
if(b == 0):
return a;
else:
return findgcd(b, a % b)
num1 = float(input(" Please Enter the First Value Num1 : "))
num2 = float(input(" Please Enter the Second Value Num2 : "))
gcd = findgcd(num1, num2)
print("\n GCD of {0} and {1} = {2}".format(num1, num2, gcd))
lcm = (num1 * num2) / gcd
print("\n LCM of {0} and {1} = {2}".format(num1, num2, lcm))
标签: 算法