Fatorial

15 respostas
cristianequeiroz1

Me ajudem please!!!
Preciso que este programa leia os valores de A e depois apresente B com o fatorial de A.

Tem alguma coisa errada. Vcs saberiam o que é?

import javax.swing.JOptionPane;

class Exercicio3 {

public static void main (String arg[]){

int A[] = new int [3];

int B[] = new int [3];
for (int i=0; i<3; i++){
		String a = JOptionPane.showInputDialog(null, "Digite o valor A [" +i+ "]");
		A [i]= Integer.parseInt(a);
	}
		String saida = "";
		int fat=1 ;
		for (int i= 0; i<3; i++){
			B [i]= A[i];
			fat*=fat*i;
			saida += "B[" +i+ "] =" +fat+ "\n";
		}


		JOptionPane.showMessageDialog (null, saida);
	}

}

15 Respostas

GustavoLaguna

Utilize as tags [code] para postar código. :)

GustavoLaguna

Voce precisa criar um método Fatorial que fará a conta e depois atribuir o resultado para B.

Fatorial de 4: 4321 = 24
Fatorial de 3: 3
21 = 6
Fatorial de 2: 2
1 = 2;
Fatorial de 1: 1

betoecomp

SOH UMA DICA:
O erro esta aqui …

for (int i= 0; i<3; i++) { 
    B [i]= A[i];
    fat*=fat*i;
    saida += "B[" +i+ "] =" +fat+ "\n"; 
}
cristianequeiroz1

Eu Não to conseguindo exergar o que é!!!

GustavoLaguna

ok, voce não está sabendo calcular o fatorial!

Crie um método que receba um inteiro por parametro e retorno o fatorial desse número.

public int fatorial(int num) {
// Calculo aqui e retorna o valor
}

Normalmente implementamos Fatorial com recursividade, de uma pesquisada… olhe bem o exemplo que dei para voce e tente achar a lógica (como de calcula) o fatorial de um número.

Exemplos:

Fatorial de 4: 4321 = 24
Fatorial de 3: 3
21 = 6
Fatorial de 2: 2
1 = 2;
Fatorial de 1: 1

cristianequeiroz1

vou tentar de novo!
obrigado mesmo!!

se nao conseguir vou ter que pedir help de novo…

GustavoLaguna

Sem problemas :slight_smile:

cristianequeiroz1

O pior que eu to tentando e nao descubro…
ja fiz varias tentativas… eu sei calcular o fatorial so que eu nao sei onde eu coloco pra dar certo!
me ajudem!

GustavoLaguna

Voce fez o método para calcular? Poste seu código para vermos o que voce fez e onde podemos ajudar.

cristianequeiroz1

o calculo do fatorial é :
fat= fat*i

?

doug

Olá…
Então se tiver usando recursividade é n*fat(n-1)…

blzz…
flwssss

thundercas

Cristiane,

Pesquise em algum site de busca sobre Fatorial, lembre qe há regras específicas em qualquer operação matemática, você deve incluíl-las no seu programa. Caso não consiga montar um loop para cálculo do fatorial, você pode procurar na internet um algoritmo para tal cálculo. Depois é só converter pra Java ^^

Boa sorte

Valder_Olmo_Correa

Cristiane, vou te dar o peixe, mas veja se aprenda a pescar. Você deve não estar entendendo o que é fatorial de um número. Bem, fatorial é o seguinte, por exemplo, fatorial de 5, escreve-se 5!, e é calculado da seguinte forma:

5! = 54321 = 120

Aí vai o código para você estudar.

import java.util.Scanner;// Programa utiliza a classe Scanner
public class Fatorial
{
	public static void main(String[] args)
	{
		// Cria Scanner para obter entrada a partir da janela de comando
		Scanner input = new Scanner (System.in);

		// Declaração de variáveis
        int n, i,fat;
        // Inicializa fat com 1
        fat = 1;
        // Pede para que seja informado o número aser calculado o fatorial
        System.out.println("Informe o número para ser calculado o fatorial:/n");
        // Por meio da classe Scanner o aplicatico lê o número a ser calculado seu fatorial
		n = input.nextInt();
		// Varre a variável i de 1 até n e multiplica a variável fat por i para assim conseguir o fatorial de n
        for(i=1;i<=n;i++)
        {
        	fat = fat*i;
        }
        // Imprime o fatorial de n na tela
        System.out.println("O fatorial de " + n + " é " + fat);
        // Encerra o aplicativo
        System.exit(0);
	}
}
Ironlynx

Cristiane, esse é um assunto recorrente.PEsquise sobre MathUtils aqui no GUJ, e vc encontrará um tópico com N maneiras de se implementar uma Fatorial/Fibonacci entre outros.

cristianequeiroz1

Valeu gente!!!

Ja consegui fazer…

Criado 21 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 15
Participantes 7