如何从Ruby的阶乘方法中排除浮点数?

东一

在使用递归(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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章