📜  Scala程序查找数字的阶乘

📅  最后修改于: 2022-05-13 01:54:49.621000             🧑  作者: Mango

Scala程序查找数字的阶乘

给定一个数字N ,任务是计算N的阶乘。

在数学中,正整数 N 的阶乘是所有小于或等于 N 的正整数的乘积。计算给定正整数N的阶乘的递归公式为

N! = N * ( N -1 )! 
N! = 1 if N = 1 or N = 0

数的阶乘

例子:

Input : N = 3 
Output : 6

Input : N = 5
Output : 120

方法一:迭代方式
在这种方法中,我们将使用循环来遍历数字序列以获得阶乘。
以下是上述方法的实现
例子 :

// Scala Program to calculate
// Factorial of a number
  
// Creating object
object GFG
{
    // Iterative way to calculate
    // factorial 
    def factorial(n: Int): Int = {
          
        var f = 1
        for(i <- 1 to n)
        {
            f = f * i;
        }
          
        return f
    }
  
    // Driver Code
    def main(args: Array[String]) 
    {
        println(factorial(5))
    }
  
}
输出 :
120

方法2:使用递归
在这种方法中,递归公式N! = N * (N -1) !用于计算给定数字的阶乘。
下面是上述方法的实现。
例子 :

// Scala Program to calculate Factorial
// of a number using recursion
  
// Creating object
object GFG
{
    // Function to calculate
    // factorial using Recursive 
    // formula (i.e N! = N * N-1 !)
    def factorial(n: Int): Int =
    {
        if (n == 0) 
            return 1
        else
            return n * factorial(n-1)
    }
  
    // Driver Code
    def main(args: Array[String]) 
    {
        println(factorial(5))
    }
}
输出 :
120