我的程序没有计算正确(Java)
My programm does not calculate right (Java)
我必须编写一个程序来计算中奖概率
在奥地利系统中计算(45 个中有 6 个)。
我使用这个公式:45!/6!*39! = 45 *44*43*42*41*40/1*2*3*4*5*6
(因为数字被缩短了)。但它计算不正确,程序给出 2179827
作为答案而不是 8415060
。谁能帮帮我,告诉我哪里错了?
package homework_1;
public class Aufgabe_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 45*44*43*42*41*40;
int m = 1*2*3*4*5*6;
int w = n/m;
System.out.println("Die Wahrscheinlichkeit ist: " + w);
}
}
非常感谢您! :)
您的代码按预期工作,但 45*44*43*42*41 超出 Integer.MAX_VALUE。 (2147483647)
使用长。
在您的代码中 45*44*43*42*41*40
它将超过 int
限制。使用long
存储结果
long n = (long)45*44*43*42*41*40;
long m = (long)1*2*3*4*5*6;
long w = n/m;
我必须编写一个程序来计算中奖概率 在奥地利系统中计算(45 个中有 6 个)。
我使用这个公式:45!/6!*39! = 45 *44*43*42*41*40/1*2*3*4*5*6
(因为数字被缩短了)。但它计算不正确,程序给出 2179827
作为答案而不是 8415060
。谁能帮帮我,告诉我哪里错了?
package homework_1;
public class Aufgabe_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 45*44*43*42*41*40;
int m = 1*2*3*4*5*6;
int w = n/m;
System.out.println("Die Wahrscheinlichkeit ist: " + w);
}
}
非常感谢您! :)
您的代码按预期工作,但 45*44*43*42*41 超出 Integer.MAX_VALUE。 (2147483647)
使用长。
在您的代码中 45*44*43*42*41*40
它将超过 int
限制。使用long
存储结果
long n = (long)45*44*43*42*41*40;
long m = (long)1*2*3*4*5*6;
long w = n/m;