在使用递归(Ruby)查找阶乘时,以下代码可以找到整数的阶乘,但在浮点运算的情况下会失败。我该如何调整?我曾考虑过在数学中使用域,但是我还不知道该怎么做。
def factorial num
if num < 0
return "Please provide a whole number."
end
if num <=1
1
else
num * factorial(num-1)
end
end
滤除浮点数最简单的方法是使用使它们浮起的东西:)它们不能被1整除。
def factorial num
if (num % 1 != 0 || num < 0)
return "Please provide a whole number."
end
if num <=1
1
else
num * factorial(num-1)
end
end
希望能有所帮助。干杯
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句