跳到主要内容

R 程序:查找最小公倍数

在这个例子中,您将学习通过创建一个用户定义的函数,查找用户输入的两个数字的最小公倍数(LCM)。

要理解这个例子,您应该了解以下R编程主题:

两个数字的最小公倍数(LCM)是可以被这两个给定数字完全整除的最小正整数。例如,12和14的LCM是84。

示例:在R中计算LCM

# 查找两个输入数字的LCM的程序
lcm y) {
greater = x
} else {
greater = y
}

while(TRUE) {
if((greater %% x == 0) && (greater %% y == 0)) {
lcm = greater
break
}
greater = greater + 1
}
return(lcm)
}

# 从用户那里获取输入
num1 = as.integer(readline(prompt = "输入第一个数字:"))
num2 = as.integer(readline(prompt = "输入第二个数字:"))

print(paste("LCM的", num1, "和", num2, "是", lcm(num1, num2)))

输出

输入第一个数字:24
输入第二个数字:25
[1] "24和25的LCM是600"

这个程序要求输入两个整数,并将它们传递给一个函数,该函数返回LCM。

在函数中,我们首先确定两个数字中较大的一个,因为LCM只能大于或等于最大的数字。

然后,我们使用一个无限的while循环,从该数字开始往后遍历。

在每次迭代中,我们检查输入的两个数字是否完全整除我们的数字。如果是的话,我们将该数字存储为LCM,并退出循环。否则,该数字递增1,循环继续。

上述程序运行较慢。我们可以通过使用以下事实使其更加高效,即两个数字的乘积等于这两个数字的LCM和最大公约数的乘积。

Number1 * Number2 = L.C.M. * G.C.D.