Vinicius_Zibetti_Res 25 de jun. de 2011
Galera, eu andei vendo aqui e tem algo a ver com Triangulo de Pascal… eu acho… Mas mesmo assim não consegui chegar a alguma conclusão.
=(
userguj 25 de jun. de 2011
Broder… o primeiro e principal passo para resolução deste problema…
VC sakou qual foi a pergunta que está sendo feita no problema ?!
Vinicius_Zibetti_Res 25 de jun. de 2011
// Solution: ((40)!/(20!*20!)), Result: 137846528820..
public static void main(String[] args) {
BigDecimal gridx = new BigDecimal(20);
BigDecimal auXx = new BigDecimal(20);
BigDecimal gridy = new BigDecimal(40);
BigDecimal auXy = new BigDecimal(40);
for (int i = 20; i > 1; i--) {
gridx = gridx.multiply(auXx.subtract(BigDecimal.valueOf(i - 1)));
}
for (int i = 40; i > 1; i--) {
gridy = gridy.multiply(auXy.subtract(BigDecimal.valueOf(i - 1)));
}
System.out.println(gridy.divide(gridx.pow(2)));
}
Opa, eu consegui fazer, no entando tive que utilizar o BigDecimal para realizar os calculos pois, o double e long não estavam dando conta.
Funciona basicamente assim, se são (20 x 20) caminhos , basta seguir a formula ali.