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