array.reduce(:lcm)在Ruby中是什么意思?

array.reduce(:lcm)在Ruby中是什么意思?,ruby,arrays,reduce,Ruby,Arrays,Reduce,我目前正在研究Euler项目的第五个问题,你可以找到最小的倍数,它可以被1到20的每个数字平均除以。我的解决方案奏效了,但花了相当长的时间,所以我在网上寻找其他解决方案。我发现这个代码: these = [] 1.upto(20) {|i| these << i} # Easier than writing it out puts "Answer: #{these.reduce(:lcm)}" 这些=[] 1.最多(20){i}这些lcm是一种整数检查文档的方法 返回最小公倍数(

我目前正在研究Euler项目的第五个问题,你可以找到最小的倍数,它可以被1到20的每个数字平均除以。我的解决方案奏效了,但花了相当长的时间,所以我在网上寻找其他解决方案。我发现这个代码:

these = []
1.upto(20) {|i| these << i} # Easier than writing it out

puts "Answer: #{these.reduce(:lcm)}"
这些=[]

1.最多(20){i}这些
lcm
是一种
整数
检查文档的方法

返回最小公倍数(始终为正)。0.lcm(x)和x.lcm(0)返回零

2.lcm(2)#=>2
3.lcm(-7)#=>21

((1)lcm是一种整数检查方法

返回最小公倍数(始终为正)。0.lcm(x)和x.lcm(0)返回零

2.lcm(2)#=>2
3.lcm(-7)#=>21

((1您也可以将tis方法直接应用于数组,它将给出所有元素的lcm

[1,2,3,4].reduce(:lcm)  # => 12 
[*1..20].reduce(:lcm) # => 232792560

您还可以将tis方法直接应用于数组,它将给出所有元素的lcm

[1,2,3,4].reduce(:lcm)  # => 12 
[*1..20].reduce(:lcm) # => 232792560

啊,LCM不是1CM,明白了。非常感谢!啊,LCM不是1CM,明白了。非常感谢!你已经澄清了你关于
LCM
方法的问题。你明白了吗,
reduce(:LCM)
?@Styx_u。你可以用
p(1..20)替换你的代码。reduce(:LCM)
您已经澄清了有关方法
lcm
的问题。您是否理解,
reduce(:lcm)
?@Styx\ux。您可以用
p(1..20)替换您的代码。reduce(:lcm)