Programming
T03-002-01 Ejercicios con funciones que devuelven enteros.
Enunciado
Queremos hacer un programa Java que calcule el factorial de un número. En el siguiente enlace tienes información sobre cómo se calcula el factorial de un número.
NOTA:
- El factorial de 5 es 5 * 4 * 3 * 2 * 1 = 120.
- El factorial de 0 es 1.
Utiliza un double para calcular el factorial.
ENTRADA
La entrada comienza con un número indicando cuántos casos de prueba deberán ser procesados.
A continuación habrá una línea para cada caso, donde cada caso es simplemente el número del que hay que calcular el factorial. Cada número será un entero n, con n >=0 y n<=100
SALIDA
Por cada caso de prueba, el programa escribirá el resultado del cálculo del factorial del número
RESTRICCIONES
Deberá resolverse el problema diseñando una función que calcule y devuelva el factorial del número pasado como parámetro.
Se proporcionan la cabecera o interfaz de dicha función en la sección MUST CONTAIN
El programa principal irá procesando la entrada del teclado, irá invocando a la función e irá imprimiendo el resultado calculado y devuelto por ésta.
Solución
import java.util.Scanner;
public class FFactorial {
public static void main(String[] args) {
// TODO code application logic here
int numCasos = 0;
int numEntrada = 0;
Scanner sc = new Scanner(System.in);
numCasos = sc.nextInt();
for (int i=1; i<=numCasos; i++){
numEntrada = sc.nextInt();
System.out.println(factorial(numEntrada));
}
}
public static double factorial (int numero){
double resultado = 1;
for (int i = 1; i <= numero; i++) {
resultado = resultado * i;
}
if (numero <= 0) {
resultado = 1;
}
return resultado;
}
}
Input
7 5 4 8 10 50 0 1
7 5 4 8 50 10 0 1
Output
120.0 24.0 40320.0 3628800.0 3.0414093201713376E64 1.0 1.0
120.0 24.0 40320.0 3.0414093201713376E64 3628800.0 1.0 1.0

