1

我目前正在进行一些 Code Wars 培训,但在第 n 个三角测试时遇到了麻烦。

这是问题:

您需要返回第 n 个三角形数。对于超出范围的值,您应该返回 0,但您总是会收到一个数字。

这是我当前的代码,当 n 仅以 1、2 和 3 的值传递时(这是通过测试所需的全部内容)。

# Return the nth triangular number
def triangular( n )
 n * (n + 1) / 2
end

我继续通过大部分测试,但出现错误:

Expected: 0; instead got: 10

如果有人可以很好地解释这甚至会问什么,那就太好了,似乎无法在网上找到任何解释这个问题的材料。

4

1 回答 1

1

您的公式似乎有效,因此必须与超出范围的数字有关。如果你得到“10 而不是 0”,那么输入数据的情况可能是“-5”,这将导致 -5 * -4 / 2 = 10,但当然应该没有“-5”的答案因此预期为零。

于 2013-10-29T00:07:07.810 回答