java实现生日相同概率

假设所有年份都只有365天,求n个人中,出现生日相同的概率。

输入n
输出相同的概率(保留3位有效数字即可)


import java.util.*;

public class X
{
	// n个人出现生日相同概率
	static double f(int n)
	{
		final int W = 1000 * 100;  //总的实验次数
		
		int w = 0; // 出现相同生日的次数
		for(int i=0; i<W; i++)
		{
			Set set = new HashSet();
			for(int j=0; j<n; j++)
			{
				int r = (int)(Math.random() * 365);	 // 随机的生日
				set.add(r);
			}
			
			if(set.size()<n) w++;
		}
		
		return 1.0 * w / W;
	}
	
	public static void main(String[] args)
	{
		System.out.println(f(30));	
	}
}
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值