package com.wang;
/*
* 一个班有30个人,问生日重复的概率为多大
*/
public class Demo12 {
public static void main(String[] args) {
int N = 1000 * 100 ;
int n = 0;
for(int i=0;i<N;i++)
{
int[] x = new int[365];
for(int j = 0;j < 30;j++)
{
int p = (int) (Math.random()*365);
if(x[p] == 1)
{
n++;
break;
}
else
{
x[p] = 1;
}
}
}
double rel = 1.0*n/N;
System.out.println(rel);
}
/*
* 一个班有30个人,问生日重复的概率为多大
*/
public class Demo12 {
public static void main(String[] args) {
int N = 1000 * 100 ;
int n = 0;
for(int i=0;i<N;i++)
{
int[] x = new int[365];
for(int j = 0;j < 30;j++)
{
int p = (int) (Math.random()*365);
if(x[p] == 1)
{
n++;
break;
}
else
{
x[p] = 1;
}
}
}
double rel = 1.0*n/N;
System.out.println(rel);
}
}
通过计算机进行模拟,从而找出符合题目条件的答案,但是答案不唯一
本文介绍了一个使用Java编程语言实现的生日悖论模拟程序。通过模拟30人中有至少两人生日相同的概率,展示了如何利用随机数生成和数组来解决这一经典概率问题。模拟运行了大量试验以确保统计结果的准确性。
3731

被折叠的 条评论
为什么被折叠?



