用于查找H.C.F.或G.C.D的R程序


2023年2月5日, Learn eTutorial
2340

如何查找给定数字的HCF或GCD

HCF是最大公因数(Highest Common Factor)的缩写,它是能够整除所有给定数字的最大数,我们需要找到这些数字的HCF。它也称为GCD。让我们通过一个例子来简化理解,考虑两个数字,如 2030,20和30的HCF将是10,因为10是能完全整除20和30的最大数。 

我们如何使用R程序查找HCF或GCD

在此R程序中,我们使用“prompt”向用户提供适当的消息,并将用户的输入值接受到n1, n2中。我们使用readline()函数获取用户的输入。然后我们首先确定两个给定数字中较小的那个。H.C.F.应该小于或等于较小的数字。现在我们从1开始一个for循环,并使用模运算符检查这些数字的因子,我们需要找到HCF。在每个循环迭代中,我们将因子添加到变量中,循环结束后,我们将在该变量中得到HCF。

算法

步骤1:向用户提示适当的消息

步骤2:使用readline()将用户输入保存到变量n1, n2

步骤3:首先确定两个数字中较小的那个

步骤4:使用for循环从1遍历到该数字。

步骤5:检查两个输入数字是否都能完美整除我们的数字

步骤6:如果能,将该数字存储为H.C.F.并退出循环

步骤7:循环结束时,我们得到能完美整除两个数字的最大数。

R 源代码

                                          hcf <- function(x, y) {
# choose the smaller number
if(x > y) {
smaller = y
} else {
smaller = x
}
for(i in 1:smaller) {
if((x %% i == 0) && (y %% i == 0)) {
hcf = i
}
}
return(hcf)
}
# take input from the user
n1 = as.integer(readline(prompt = "Enter first number: "))
n2 = as.integer(readline(prompt = "Enter second number: "))
print(paste("The H.C.F. of", n1,"and", n2,"is", hcf(n1, n2)))
                                      

输出

Enter first number: 150
Enter second number: 225
[1] "The H.C.F. of 150 and 225 is 75"