编辑

【暴力】001 重复生日的概率

2019-11-13 2019-11-13 47 2 ● 蓝桥杯 Hoji

Hoji的CSDN(其中不乏各种框架教程、学习方法..) https://blog.csdn.net/qq_43539599


一、题目

求30人的班级出现生日重复的概率.

二、思路

1、30人的班级:代表在程序中产生30次的随机数
2、实验次数N应该尽量多。

public class 重复生日的概率 {
  public static void main(String[] args) {
    int N = 10000; 	 //1. 设置实验的次数
    int r, cnt = 0;
    for (int i = 0; i < N; i++) {
      int[] bird = new int[365];
      for (int j = 0; j < 30; j++) {          //产生30次的随机数(代表30人的班级的生日)
        r = (int) (Math.random() * 365);      //random()随机产生0~1之间的树
        if(bird[r] == 1) { ++cnt; break;}     //如果指定下标随机值与bird中的生日相同,那么进行下一次实验
        else { bird[r] = 1; }                 //标记出现过该天的生日
      }
    }
    System.out.println((double) cnt/N);	   //0.70xx
  }
}

倘若小文于你有益,欢迎
  • 如果您的提问博主没能及时回复,通过分享文章获得援助,何尝不是一种查缺补漏的好做法
  • 版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议
  • 文章转载:请在文末添加原文章地址,这也是尊重他人劳动成果的一点体现,谢谢您的配合!
  • 评论信息 (注:评论收到回复后,会以邮箱的方式提醒您;您的邮箱不会显示到页面中)

    验证码信息 看不清?点击图片进行切换!
    精彩随处可见 更多精彩内容
    作者: 浏览 61 评论 1 赞 1 2020-01-15
    作者: 浏览 62 评论 1 赞 1 2019-11-29
    作者: 浏览 83 评论 1 赞 1 2019-11-29
    作者: 浏览 54 评论 1 赞 1 2019-11-29
    作者: 浏览 52 评论 1 赞 1 2019-11-29
    目录