【发布时间】:2018-12-01 00:35:45
【问题描述】:
我最初是用 JavaScript 编写的,并在此处发帖寻求帮助(我得到了帮助)。然后我用 Ruby 编写了它,但它没有按预期工作。看起来代码在 Ruby 中几乎相同。
预期结果:29
实际结果:2639
prime = 0
temp = 0
factor = 3
i = 3
num = 13195
while factor < num
if num % factor == 0
while i < factor
if factor % i == 0
temp = prime
break
else
temp = factor
end
i = i + 2
end
// i initializes back to 3
// so next factor can properly iterate through loop
i = 3
prime = temp
end
factor = factor + 2
end
i = 3
puts prime
当我作为一个 JavaScript 程序提出这个问题时,这是答案的链接:
https://stackoverflow.com/a/50970934/7217977
【问题讨论】:
-
这里有问题吗?
-
是的,为什么我没有得到预期的结果?
-
您是否尝试过逐步调试这两个程序并试图找到它们的输出开始分歧的地方?
-
Ruby 对我来说仍然是全新的,所以我只写我理解的语法,即使它不是最好的。随着我对这门语言越来越熟悉,我未来的代码会更好。
-
是的。只需阅读大量 [好的] 代码并编写大量代码,您很快就会成为 ruby 大师。比如,一两年。
标签: ruby loops primes prime-factoring