gpt4 book ai didi

ruby - 在 Ruby 中重置循环,或返回到循环的开始? (寻找一个数字的因数)

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

我正在尝试找到数字 N 的因数。我希望能够遍历我的素数数组,当满足条件时,返回到迭代的开始,而不是继续进行下去。

arrFactors = []    
N = 150
[2,3,5,7,11].each do |a|
if N % a == 0
arrFactors.push(a)
N = N/a
break if N == 1
<return to start of the collection [2,3,5,7,11]>
end
end

我如何在 Ruby 1.8.6 中执行此操作? (我注意到 1.8.7 中有一个可能相关的“循环”枚举器?)

附言
我知道下面的算法还不完美(我想我需要提供 N = 1)。我也知道 Ruby 提供了一种分解方法,但我不想使用,因为我正在这里学习。

最佳答案

你可以使用类似的东西:

[2,3,5,7,11].each do |a|

while N % a == 0
arrFactors.push(a)
N = N/a
end

if N == 1 then
break
end

end

这将消除重置外循环的需要。

关于ruby - 在 Ruby 中重置循环,或返回到循环的开始? (寻找一个数字的因数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3582417/

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