Ejercicio: Pedir un número y calcular su factorial.
import java.util.Scanner;
/**
*
* @author Ariel
*/
public class FactorialNumero {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Ej.: El factorial de 5 es: 5*4*3*2*1
long factorial=1;
int num;
Scanner numero = new Scanner(System.in);
System.out.print("Introduce un número: ");
num = numero.nextInt();
for (int i = num; i > 0; i--) {
factorial = factorial * i;
}
System.out.println("El factorial de " + num + " es: " + factorial);
}
}
Hola... tengo un ligero problema amigo... cuando ejecuto el programa y ingreso el numero 17 me sale el numero -288522240... y no entiendo por que el signo es negativo...
ResponderEliminarQue tal amigo, a mi me sale: El factorial de 17 es: 355687428096000. Tendrias que ver si en algún punto esta mal tu código. Saludos.
Eliminares porque tienes que usar big,ya que long,solo tiene una cierta capacidad de almacenamiento y si sobrepasas eso,no funciona adecuandamente el programa ,es decir en el caso de byte solo se puede calcular e introducir numeros de -128 a 127,long creo que es de hasta 2 mil millones,creo no lo recuerdo.
EliminarHola amigo me puedes decir el codigo en php por favor.
ResponderEliminarHola amigo me puedes decir el codigo en php por favor.
ResponderEliminarQue tal. Solo trabajo con Java amigo, no tengo nada de PHP.
Eliminaruna pregunta como hago para que solo me deje usar hasta el numero 10 y no saque el factorial de los demas numeros solo del 1 al 10
Eliminaruna pregunta como hago para que solo me deje usar hasta el numero 10 y no saque el factorial de los demas numeros solo del 1 al 10
EliminarQue tal. Podrias usar una condicional num <= 10. Que seria número menor o igual a 10. Saludos.
Eliminarexacto, has lo que carlos chavez a mencionado. prueba con una condicion
Eliminarif(a<=10)
{
instrucciones
}
Disculpa amigo, mi cuestion es por que colocas i-- en tu codigo? pense que deberia ser i++ para que pueda aumentar de 1 en 1
ResponderEliminarQue tal. Es por "int i = num", empieza con el valor del numero por tanto debe ir dismunuyendo hasta llegar a cero. Es otra forma de manejar un for.
Eliminarno hay ejercios de bidimencionales
ResponderEliminar//44. Leer un número y calcularle su factorial.
ResponderEliminarimport java.util.Scanner;
public class Main {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
System.out.println("Dame un numero ");
int num1,num2,num3=1;
num1=teclado.nextInt();
for (int i = num1; i > 0; i--){
num3=num3*i;
System.out.println("El factorial del " + num1 + " es: " + num3);
}
}
}
Mi Código me quedo justo asi pero no entiendo pq no me devuelve el mensaje del factorial me pide el número y luego no me imprime el resultado
EliminarDisculpa... No entiendo muy bien cuando modificó el "for" para un factorial:for(int i = número; i>0; i--)...porque es: for (valores de entrada; condición de terminación; iteracion por ciclo), Saludos me ayudó mucho.
ResponderEliminarGracias ha sido de mucha ayuda :D
ResponderEliminarNos as salvado estamos agradecidos jpg.
ResponderEliminaren ese mismo codigo como puedo implementar un metodo?
ResponderEliminarQue tal. Se puede encapsular en un método por ejemplo: static void factorial(int n){}. Todo el código ajustado dentro de la llave.
EliminarHola amigos!
ResponderEliminarMe podrian ayudar a hacer un codigo con scanner donde calcule el factorial del 1! al 10! usando for
y que me aparezca el resultado asi:
1!= 1
2!= 2
3!= 3
4!= 6
5!= 24
6!= 720
7!= 5040
8!= 40320
9!= 362880
10!= 3628800
Por favor...
Que tal. La entrada "java-basico-065" del blog puede serte de utilidad. Saludos.
Eliminarpublic void setFactor(){
Eliminarint fact=1;//no va cero porque toda multiplicacion multiplicada por cero da cero
for(int i=1; i<=10; i++){
for(int m=1; m>=1; m--){
fact =fact*m*i;
System.out.println(i+"!="+fact);
}...
Excelente Pagina 100!!
ResponderEliminarHola,
ResponderEliminarUna consulta, como se podría hacer para que la salida sea algo similar a esto, por ejemplo si se calcula el factorial de 5
El factorial de 5 es: 5*4*3*2*1
Puedes probar cambiando la impresión:
EliminarString factorial = "";
int num;
Scanner numero = new Scanner(System.in);
System.out.print("Introduce un número: ");
num = numero.nextInt();
for (int i = num; i > 0; i--) {
if(i == 1){
factorial += i + "";
break;
}
factorial += i + " * ";
}
System.out.println("El factorial de " + num + " es: " + factorial);