Menino Posted January 29, 2013 at 09:47 PM Report #493454 Posted January 29, 2013 at 09:47 PM 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
HappyHippyHippo Posted January 29, 2013 at 09:50 PM Report #493456 Posted January 29, 2013 at 09:50 PM (factorialR*(factorialN-factorialR)) é zero não podes dividir nada por zero IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Menino Posted January 29, 2013 at 09:51 PM Author Report #493457 Posted January 29, 2013 at 09:51 PM 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
HappyHippyHippo Posted January 29, 2013 at 09:58 PM Report #493459 Posted January 29, 2013 at 09:58 PM e por acaso não decidiste colocar n e r iguais pois não ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Menino Posted January 29, 2013 at 10:14 PM Author Report #493462 Posted January 29, 2013 at 10:14 PM Não meti o n = 20 e o r = 2;
HappyHippyHippo Posted January 29, 2013 at 10:20 PM Report #493463 Posted January 29, 2013 at 10:20 PM n = 20 ?? e qual o valor calculado/apresentado do factorial de um n com esse valor ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
thoga31 Posted January 29, 2013 at 10:26 PM Report #493465 Posted January 29, 2013 at 10:26 PM btw, em termos matemáticos, estás a calcular mal a combinação no denominador. Knowledge is free!
Menino Posted January 29, 2013 at 10:33 PM Author Report #493467 Posted January 29, 2013 at 10:33 PM Eu apenas coloquei a formula que é dada no enunciado :S
thoga31 Posted January 29, 2013 at 10:34 PM Report #493470 Posted January 29, 2013 at 10:34 PM (edited) Eu apenas coloquei a formula que é dada no enunciado :S Qual é que te foi dada...? btw, responde ao @Happy, é uma pergunta pertinente. Edited January 29, 2013 at 10:35 PM by thoga31 Knowledge is free!
Menino Posted January 29, 2013 at 10:46 PM Author Report #493473 Posted January 29, 2013 at 10:46 PM 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 🙂
thoga31 Posted January 29, 2013 at 10:50 PM Report #493475 Posted January 29, 2013 at 10:50 PM E as combinações, estão a dar bem? Eu continuo a achar que a fórmula não está bem... Knowledge is free!
Menino Posted January 29, 2013 at 10:55 PM Author Report #493479 Posted January 29, 2013 at 10:55 PM Penso que sim a formula que me é dada é nCr = Fatorial de n / (fatorial de r * factorial de (n-r))
thoga31 Posted January 29, 2013 at 10:56 PM Report #493480 Posted January 29, 2013 at 10:56 PM (edited) nCr = Fatorial de n / (fatorial de r * factorial de (n-r)) Não é isto que tens implementado no programa. Edited January 29, 2013 at 10:57 PM by thoga31 Knowledge is free!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now