Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何找到两个数字的最小公倍数?_Ruby_Algorithm - Fatal编程技术网

Ruby 如何找到两个数字的最小公倍数?

Ruby 如何找到两个数字的最小公倍数?,ruby,algorithm,Ruby,Algorithm,我知道这是一个典型的面试问题,但下面是我快速尝试创建的函数,它返回两个数字的最低公倍数,这是我在日常工作中从未做过的事情: def calc_common_multiplyer(int_low, int_high) i = 1 int_high_res = [] while true int_high_res << int_high * i if int_high_res.include?(int_low * i) return int_lo

我知道这是一个典型的面试问题,但下面是我快速尝试创建的函数,它返回两个数字的最低公倍数,这是我在日常工作中从未做过的事情:

def calc_common_multiplyer(int_low, int_high)
  i = 1
  int_high_res = []

  while true
    int_high_res << int_high * i
    if int_high_res.include?(int_low * i)
      return int_low * i
    end 
    i = i+1
  end
end
def calc_common_multiplyer(整数低,整数高)
i=1
int_high_res=[]
虽然是真的

int_high_res首先计算最大公约数(例如使用),然后


首先计算最大公约数(例如使用),然后

我会用Ruby做这件事:

x.lcm(y)
:)

我会用Ruby做这个:

x.lcm(y)
:)

def find_lcm(n,m)
n、 m=m,如果m
def find_lcm(n,m)
n、 m=m,如果m
这就是你在纸上解决这个问题的方法吗?我给自己4分钟的时间来回答这个问题,可能是应该花费的时间的两倍&这就是我创造的。在纸上可能也会这样做。这就是你在纸上解决这个问题的方法吗?我给自己4分钟的时间来回答这个问题,可能是应该花费的时间的两倍&这就是我创造的。在纸上可能也会这样做。@Mark Thomas,为什么不添加一个链接和示例来说明它是如何工作的?@theTinMan我通常这样做,但我时间不够。@Mark Thomas,为什么不添加一个链接和示例来说明它是如何工作的?@theTinMan我通常这样做,但我时间不够。虽然这个代码片段可以解决这个问题,确实有助于提高你的文章质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!
 def find_lcm(n,m)
  n, m = m, n if m < n
  count = m
 until count % n == 0
  count += m 
 end
 count
 end