Pessoal to tentado fazer com que os valores digitados num vetor pelo usário na hora de impressos ele me de o fatorial de cada um deles eu fiz assim mas ta errado algume pode me ajudar???
publicstaticvoidmain(String[]args){intvet0[]=newint[5];inti=0;for(i=0;i<5;i++){Stringaux=JOptionPane.showInputDialog(null,"Digite N° para posição "+i+" do 1°Vetor:");vet0[i]=Integer.parseInt(aux);}for(i=0;i<5;i++){vet0[i]=vet0[i]*i;System.out.print(vet0[i]);}}}
Você viu aqui que todos os valores vão dar zero, não? Explique por que é que está dando zero. (Dica: por que é que você não calcula o fatorial em um método separado?)
Você viu aqui que todos os valores vão dar zero, não? Explique por que é que está dando zero. (Dica: por que é que você não calcula o fatorial em um método separado?)
a resposta que ele me da é 02468 se eu digitar pra todos os valores do vetor o 2 … mas msmo assim não me resolve nada como assim deixar em método separado??
T
thingol
Crie um método chamado "fatorial" que receba um número e retorne o fatorial desse número.
A seguir, chame-o para preencher o vetor. Por exemplo,
sim eu entendo como vc diz para eu fazer mas é que esse jeito não vi na faculdade ainda me diga senão for pedir muito tem como vc fazer pra mim e colar o código ??? para eu poder análisar…
importjavax.swing.*;classTest{publicstaticvoidmain(String[]args){int[]vetor=newint[5];for(inti=0;i<5;i++){Stringaux=JOptionPane.showInputDialog(null,"Digite número: ");vetor[i]=Integer.parseInt(aux);}for(intj:vetor)System.out.println("Fatorial de "+j+":"+fatorial(j));}staticintfatorial(intn){if(n==1||n==0)return1;return((fatorial(n-1))*n);}}
O
ozix
Tive uma idéia pro seu problema.
Você pode ir calculando o fatorial da lista ordenada, assim o fatorial do elemento i+1 pode ser calculado a partir do fatorial do elemento i.
A complexidade dessa solução é igual a O(AO) + X, onde AO = Algoritmo de Ordenação usado e X é o maior elemento da lista.
A complexidade de calcular o fatorial de todos elementos normalmente é a soma dos elementos.
To sem cabeça agora (leia-se “com fome”) pra calcular qual é o melhor ou se depende do caso.
cara testei teu código ele fumego bacaninha mas não entendi uma coisa esse aqui é oq faz acontecer o fatorial???
Exato, essa é uma função <a href = "http://www.google.com.br/search?hl=pt-BR&q=recurs%C3%A3o&btnG=Pesquisa+Google&meta=&aq=f&oq=" >recursiva </a> que calcula o fatorial do número n, passado por parâmetro. Qualquer problema que você resolve com recursão pode também ser resolvido por meio de estruturas de repetição (for, while, etc) e vice-versa. Porém, dependendo do problema é interessante você escolher uma solução ou outra.</p>
cara testei teu código ele fumego bacaninha mas não entendi uma coisa esse aqui é oq faz acontecer o fatorial???
Exato, essa é uma função <a href = "http://www.google.com.br/search?hl=pt-BR&q=recurs%C3%A3o&btnG=Pesquisa+Google&meta=&aq=f&oq=" >recursiva </a> que calcula o fatorial do número n, passado por parâmetro. Qualquer problema que você resolve com recursão pode também ser resolvido por meio de estruturas de repetição (for, while, etc) e vice-versa. Porém, dependendo do problema é interessante você escolher uma solução ou outra.
</p>
<p>certo e vamos supor que se eu fizesse uma matriz e só quizesse fazer um fatorial pra uma linha eu poderia usar o msmo recurso???</p>
rodrigo.bossini
Claro…a função recursiva nada tem a ver com a estrutura onde vc está armazenando os dados…cuidado pra não confundir as coisas, se tá em dúvida sobre o que é recursão, dá uma olhada aqui.