- public class Main {
- ..static int factorial (int numero) {
- ....if (numero == 0) return 1;
- ....else return numero * factorial(numero-1);
- ..}
- ..public static void main(String[] args) {
- ....System.out.println("Factorial de 5 es: " + factorial(5));
- ..}
- }
- Factorial de 5 es: 120
´´´´´
ResponderEliminarno vale
,,,,,
ResponderEliminarsi vale
xD
Su Trabajo Es Excelente, Simple, Claro, Eficiente.
ResponderEliminarEstoy Empezando Desde CERO Y Su Esfuerzo Me Ayuda A Vizualizar El Codigo Java Sin Confuciones.
Muchas Gracias.
No sirve, al momento de poner para el 50 factorial me da 0 y si cambio el tipo de dato a long me da 50!=-3258495067890909184 y el factorial es: 50! = 30414093201713378043612608166064768844377641568960512000000000000 no sirve tu código.
ResponderEliminarPara números tan grandes habría que cambiar el tipo de dato a "BigInteger".
EliminarSolo debe de cambiar el tipo de dato a double
EliminarTu eres quien no sirve para resolver problemas y entender, no todo te lo darán hecho muchacho XD
Eliminarjajajaja, debes de conocer primero la API de java, ahí encontraras un tipo de dato llamado BigInteger, éste es para enteros muuuy grandes. SALUDOS, chaval.:)
EliminarDonde dice static int factorial( int nummero), se cambia por "static double factorial( int numero)" , y se deja todo el código igual,
ResponderEliminaren el public static main se introduce el numero por parámetro y todo funciona perfecto, incluso números grandes como 560 por ejemplo, que devuelve la palabra infinity, no dando error, pero siendo imposible que devuelva resultado por que se pasa de rango. El factorial maximo que te devolvera sera 170!, lo cual para `racticar en Java esta muy bien.
Gracias al autor por el código, me ha permitido experimentar.
como puedo cambiar el código para que saque el factorial de un numero ingresado por el ususario?
ResponderEliminarexacto
EliminarExcelente amigo, codigos basicos instructivos para ir conociendo el tema. Para los que te critican estos temas son pasos, si quieren correr aprendan a caminar.
ResponderEliminar