Ir ao conteúdo
  • Cadastre-se

Factorial num array


Kamutra

Posts recomendados

Boa tarde galera.

Estou a tentar resolver o seguinte exercício:

Gerar aleatoriamente um vetor A com 10 elementos. Construir um vetor B de mesmo tamanho, sendo que cada elemento da matriz B seja o fatorial do elemento correspondente em A.

Dei alguns passos, mas não estou conseguindo o que realmente quero.

Fiz o seguinte:


public class VecFactorial {

public static void main(String args[]){

int A[]=new int[10];
int B[]=new int[10];
int factorial=1;

System.out.println("Elementos de A:");
for(int i=0;i<10;i++)
{
A[i]=1+(int)(Math.random()*9);
System.out.print(A[i] + " ");
}

System.out.println("\nElementos de B:");
for(int i=2;i<A[i];i++)
{
factorial*=A[i];
B[i]=factorial;
System.out.print(B[i] + " ");
}
}
}

Alguem me dá uma luz sobre o que fazer?

Agradeço a atenção de todos e aguardo explicações.

Muita Paz e fiquem com Deus.

Link para o comentário
Compartilhar em outros sites

Olá CaioMelqui

Obrigado pela ajuda, mas devo confessar que não consegui resolver com loop's encadeados.

O que acontece quando uso loop's encadeados é a multiplicação do número em questão com o precedente.

Por exemplo se os números no vector A forem 2 5 7 3 9, o programa imprime como sendo os valores do vector B "2 10 70 210 1890". Deve estar a acontecer algo que não sei definir. Talvés má interpretação da minha parte.

Tentei resolver usando um método no caso o método Factorial e deu certo. Mas acontece que não é isso que pretendo. Pretendo calcular o factorial dos elementos do vector A e passar o resultado para o vector B sem usar o método Factorial.

Se poderem me dar mais explicações sobre o que fazer fico desde já muito grato. Aí posto o código usando o método Factorial.

Muita Paz e Muito Amor, fiquem com Deus.

Conto Convosco.

public class VecFactorial {

static int Factorial(int n)
{
int factorial=1;
//Acha o factorial de um número.
for(int i=2;i<=n;i++)
factorial*=i;
return factorial;
}

public static void main(String args[]){

int A[]=new int[10];
int B[]=new int[10];

System.out.println("Elementos de A:");
for(int i=0;i<10;i++)
{
A[i]=1+(int)(Math.random()*10);
System.out.print(A[i] + " ");
}


System.out.println("\n\nElementos de B:");
for(int j=0;j<10;j++)
{
B[j]=Factorial(A[j]);
System.out.println(A[j] + "!" + "=" +B[j] + " ");
}
}
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...