您的位置:首页 > 编程语言 > Java开发

求n个人中,生日相同的概率(Java集合框架之HashSet的用法)

2013-07-07 11:06 429 查看
package JiaNan;
import java.util.*;
public class ShengRi
{
// 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++;   //由于Set特性,一旦有相同的元素,就会之保留一个。因此小于n就是有相同元素出现了。
}

return 1.0 * w / W;
}

public static void main(String[] args)
{
System.out.println(f(60));
}
}

/*
0.99341
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: