Abymael

Alguém pode me ajuda mostrando outras formas de calcular o fatorial de varios numeros.

//Calcular o fatorial de 1 a 10
import java.util.*;
	public class fatorial {
	    public static void main(String[] args)
	    {
	    	int n,i, fatorial;
	 
	    	for(i=1;i<=10;i++)
	    	{
	    		for(n=1, fatorial = 1;n<=i;n++)
		    	{
	    	         fatorial *= n;	
		    	}
	    		System.out.println("O fatorial de "+i+" e "+fatorial);
	    	   	
	    	}
	    
	      
	    }
	}

desde ja valeu!!!

Pode fazer usando um while também, veja:

public class Fatorial2 {
            public Fatorial2() {
            }
 
            public static void main(String arg[]){
                   long numero = 2, resultado =1;
                   long i;
 
                 while(numero < 20){
                         for(i = numero; i > 1; i--){
                                resultado  = resultado  * (i);
                         }
                         System.out.println("Fatorial de "+numero+" é "+resultado );
                         numero ++;
                         resultado  = 1;
                 }
          }
 
 }

Obs.: Coloque nome óbvios nos tópicos, ou seja referente a sua duvida.

//Calcular o fatorial de 1 a 10 
public class fatorial {

int cont,n,fat;

public static void main(String[]args){

fat = 1;
n = 1;

for(cont=n;cont>=10;cont++){
fat *= cont;

}

System.out.println("O fatorial de" +n+ "é"+ fat);
  
   }

}

o n é o número de partida, e o 10 seria o número de chegada. E não precisa importar o pacote util. Essa é uma operação matemática que só envolve controle de repetição.

Espero ter ajudado. Abraços

E por que o título desse tópico é Abymael? Não seria melhor ser "Fatorial"?

Aqui está outra forma de calcular o fatorial:

[code]public class Fatorial {
public static int fat(int n) {
return n < 2 ? 1 : n * fat(n-1);
}

public static void main(String[] args) {
for (int i =1; i < 10; i++) {
System.out.printf("O fatorial de %d é %d%n", i, fat(i));
}
}
}[/code]

Vini, você está usando recursividade nesse algoritmo de fatoração?

Sim, pode ver que a função chama ela mesma.

Afinal, sabemos que:

  1. O fatorial de um número < 2 (0 ou 1) é 1;
  2. O fatorial de um número N! = N * (N-1)! (ou seja 5! = 5*4!).

O que essa função faz é simplesmente escrever essa regra.

return n < 2 ? //Se n < 2 1 : //retorne 1 n * fat(n-1); //Senão, retorne N * (N-1)!