【发布时间】:2015-03-22 19:47:52
【问题描述】:
我有一个有趣的问题。给定一个数组,我想知道该数组中是否有两个数字相乘等于第三个数字n
如果有,我会在控制台打印 true,如果没有,我会打印 false
例子
array = [4,7,9,13]
n = 63
这将返回 true,因为 9 * 7 = 63
def multiply_to (array, n)
if array.any?(2){|a,b| a * b == n}
puts "true"
else
puts "false"
end
end
我是Ruby 的新手,但此代码不起作用。我哪里做错了。任何帮助表示赞赏。提前致谢
【问题讨论】:
-
关于优化的注意事项:您可以首先通过检查 n % a == 0 创建一个可能候选数字的子数组,然后在子数组上运行您的算法。