Dado un número N , la tarea es calcular el factorial de N .
En matemáticas, el factorial de un entero positivo N es el producto de todos los enteros positivos menores o iguales a N. La fórmula recursiva para calcular el factorial de un entero positivo dado N es
N! = N * ( N -1 )! N! = 1 if N = 1 or N = 0
Ejemplos:
Input : N = 3 Output : 6 Input : N = 5 Output : 120
Método 1: forma iterativa
En este método, usaremos un ciclo para iterar sobre la secuencia de números para obtener el factorial.
A continuación se muestra la implementación del enfoque anterior.
Ejemplo:
// 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)) } }
Producción :
120
Método 2: uso de la recursividad
En este método, la fórmula recursiva N! = N * (N-1) ! se utiliza para calcular el factorial del número dado.
A continuación se muestra la implementación del enfoque anterior.
Ejemplo :
// 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)) } }
Producción :
120