Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Menino

[Resolvido] Duvida de novato

Recommended Posts

Menino

Sou novato e estou com um problema.

package Probabilidade;

import java.util.Scanner;

public class Ler {

 static Scanner leia = new Scanner(System.in);


 public static void main(String args[]){

   int factorialN = 1;
   int factorialR = 1;
   int NcR;

   System.out.println("Digite o numero de objectos");
   int n = leia.nextInt();
   System.out.println("Digite o numero de objectos que são retirados");
   int r = leia.nextInt();

   for(int a = n; n == 1; n--){
     factorialN = factorialN*n;
     System.out.println("Sou "+ factorialN);
   }
   for(int b = r; r == 1; r--){
     factorialR = factorialR*r;
     System.out.println("Eu 2º sou "+ factorialR);
   }

   NcR = factorialN/(factorialR*(factorialN-factorialR));

   System.out.println("O numero de combinações é "+ NcR);
 }

o erro que me dá é na linha NcR = factorialN/(factorialR*(factorialN-factorialR)); e é o seguinte:

Exception in thread "main" java.lang.ArithmeticException: / by zero

at Probabilidade.Ler.main(Ler.java:30)

Alguém me pode dizer onde estou a errar sff.

Obrigado

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
HappyHippyHippo

(factorialR*(factorialN-factorialR)) é zero

não podes dividir nada por zero


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Menino

Mas supostamente eu inicio o factorial a 1 e peço ao utilizar para me dar o n e o r e depois faz o factorial e aplica esta conta :S

Share this post


Link to post
Share on other sites
HappyHippyHippo

n = 20 ??

e qual o valor calculado/apresentado do factorial de um n com esse valor ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
thoga31

btw, em termos matemáticos, estás a calcular mal a combinação no denominador.


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Eu apenas coloquei a formula que é dada no enunciado :S

Qual é que te foi dada...?

btw, responde ao @Happy, é uma pergunta pertinente.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
Menino

Consegui resolver o problema, os for estavam mal feitos tem que ser != 1 e as variáveis têm que ser float

Muito Obrigado pela ajuda rápida de todos :)

Share this post


Link to post
Share on other sites
thoga31

E as combinações, estão a dar bem? Eu continuo a achar que a fórmula não está bem...


Knowledge is free!

Share this post


Link to post
Share on other sites
Menino

Penso que sim a formula que me é dada é nCr = Fatorial de n / (fatorial de r * factorial de (n-r))

Share this post


Link to post
Share on other sites
thoga31

nCr = Fatorial de n / (fatorial de r * factorial de (n-r))

Não é isto que tens implementado no programa.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.