正如标题所说,此代码旨在计算5人组中2个人生日相同的概率,但它只输出1,我对C++相当陌生,因此如果有任何帮助,我将不胜感激。
#include <iostream>
using namespace std;
int main(){
float p;
p=1-(364/365)*(363/365)*(362/365)*(361/365);
cout<<p;
}发布于 2019-12-22 03:10:09
在每个数字上放置一个.0,这种方式被视为双精度型而不是整型。整数除法(364/365)等于0
p=1.0-(364.0/365.0)*(363.0/365.0)*(362.0/365.0)*(361.0/365.0);发布于 2019-12-22 03:10:18
这是因为在计算答案之后,calculates 364/365是一个整数,即0。
要使其正常工作,请像这样进行更改。
p=1-(364/365.0)*(363/365.0)*(362/365.0)*(361/365.0);发布于 2019-12-22 03:10:34
当两种类型都为int时,需要将整数转换为浮点数,因为/舍入为结果下的最大整数
p=1-(float(364)/float(365))*(float(363)/float(365))*(float(362)/float(365))*(float(361)/float(365));https://stackoverflow.com/questions/59439093
复制相似问题