该计划应该通过2至50人的数量,并获得100,000次试验的概率,无论两个人是否会有相同的生日。
import {Permission} from "../models/permission";
这是结果(它从2-50开始),它一直给我零,所以我知道出了什么问题。请帮忙 :) Output
答案 0 :(得分:0)
尝试
int probability = x / 1000; // 1/100 of the value to get an probability in percent (integer)
或
float probably = x / 100000F; //F for a `float`
double probability = x / 100000.0; //a decimal without a F is a `double`
没有它,这无效:
float probably = x / 100000;
首先,两个整数的除法将像整数一样存储在内存中,然后存储在float / double中。该存储会截断该值。这是在操作中返回最大类型的操作符逻辑:
int * int -> int
int * float -> float
int * double -> double
short * short -> int //that's a trick, int is the minimal value an operation can return
答案 1 :(得分:-1)
int probability=x/100000; always return 0.
将其转换为double probability=x/100000.0;
概率值始终小于或等于1。因为x永远不会大于100000.并且还会将one_probability
方法的返回类型更改为double
。