正如标题所述,此代码用于计算2个人在5人一组中有相同生日的概率,但它仅输出1,对于C ++来说我是相当陌生的人,因此不胜感激。
#include <iostream>
using namespace std;
int main(){
float p;
p=1-(364/365)*(363/365)*(362/365)*(361/365);
cout<<p;
}
答案 0 :(得分:2)
在每个数字上输入.0,那样将被视为双精度而不是整数。整数除法(364/365)等于0
p=1.0-(364.0/365.0)*(363.0/365.0)*(362.0/365.0)*(361.0/365.0);
答案 1 :(得分:2)
这是因为在计算364/365
之后,计算出的答案是一个0
的整数。
要使其正常工作,请像这样更改它。
p=1-(364/365.0)*(363/365.0)*(362/365.0)*(361/365.0);
答案 2 :(得分:1)
当两种类型均为/
时,您需要将整数转换为浮点数,int
将舍入为结果下方的最大整数:
p=1-(float(364)/float(365))*(float(363)/float(365))*(float(362)/float(365))*(float(361)/float(365));