algorithm - 您将如何编写非递归算法来计算阶乘?

标签 algorithm recursion factorial

你会如何编写一个非递归算法来计算 n!

最佳答案

因为任何大于 12 的 Int32 都会溢出!无论如何,就这样做:

public int factorial(int n) {
  int[] fact = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 
                362880, 3628800, 39916800, 479001600};
  return fact[n];
}

关于algorithm - 您将如何编写非递归算法来计算阶乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231250/

相关文章:

java - 如何使用随机唯一数字从大小(等于用户输入)填充数组?编译器

algorithm - 堆叠圆柱以获得最大表面积

java - 尽管不是堆栈的一部分,字符串中最长回文的输出仍会正确打印

c - 从C中指针指向的列表中删除数据

python - 在 python 中找到阶乘的最佳方法?

algorithm - 构建数组中元素的有向正则图

c - 不带 "return"命令返回

c - 计算 100 以内阶乘的代码中存在错误?

ruby - 如何在 Ruby 中编写递归阶乘函数?

algorithm - 从 B 树中删除叶节点