gpt4 book ai didi

ruby - 如何优化 ruby​​ 代码迭代一个范围内的几个整数?

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:52 24 4
gpt4 key购买 nike

Ruby 新手,试图找到 3 位数字“abc”:

for a in 0..9
for b in 0..9
for c in 0..9
if a*a+b*b+c*c == (100*a+10*b+c)/11.0
puts "#{a}#{b}#{c}"
end
end
end
end

这太长了,有什么办法可以优化它,或者用另一种“ruby”方式写吗?

最佳答案

解决方案来自:Wolfram Alpha :)

这是另一个有趣的解决方案。并不是真的更快,只是更紧凑,如果您正在寻找的话,可能更像 ruby :

(0..9).to_a.repeated_permutation(3).select { |a,b,c| 
a*a+b*b+c*c == (100*a+10*b+c)/11.0
}
=> [[0, 0, 0], [5, 5, 0], [8, 0, 3]]

关于ruby - 如何优化 ruby​​ 代码迭代一个范围内的几个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com