假设班里人数N=35,又生日在一年的365天等概率分布。问至少两人同一天生日的概率有多大?试编程序模拟。
算法思路:使用选票统计算法 求解
不知道出了什么问题 算不出来 同一天生日的人数 以及概率
假设班里人数N=35,又生日在一年的365天等概率分布。问至少两人同一天生日的概率有多大?试编程序模拟。
算法思路:使用选票统计算法 求解
不知道出了什么问题 算不出来 同一天生日的人数 以及概率
收起
birthsame中判断同一天的逻辑不对,因为是求至少两人同一天生日,所以最好求没有相同生日的概率,用100减去这个概率就是要求的结果。
而且,x[]中存储的是35给人的生日所在的天,应该用双层for循环来判定这35给人是否有重复生日的。
birthsame函数及main函数中printf修改如下:
int birthsame(int x[])
{
//找出没有相同生日的人数
int i = 0, count = 0, j = 0;
for(i=0;i<N;i++)
{
for (j = i + 1; j < N; j++)
{
if (x[j] == x[i])
break;
}
if (j == N) //说明没有重复的
count++;
}
return count;
}
int main()
{
//原来的代码
//printf修改如下
printf("%.2f%%\n", 100.0 - 100.0 * m / n);
return 0;
}
报告相同问题?