• 首页

  • 归档

  • 分类

  • 标签

  • 喵星人

  • 心情

  • 关于
W e A r e F a m i l y ! m i a o ~
W e A r e F a m i l y ! m i a o ~

柴子

青春流逝,记录往昔

11月
11
算法

算法题-随机函数02

发表于 2021-11-11 • 字数统计 1276 • 被 190 人看爆

题目

请利用已有函数f()编写等概率0,1发生器
f()是不等概率的0,1发生器

public class Random01 {
    /**
     * 已有函数,不等概率的0,1发生器
     * 题目提供
     *
     * @return
     */
    public static int f(){
        return Math.random()>0.8? 0:1;
    }
}

解题思路

  • 执行两次
    • 00的概率 0.8 * 0.8
    • 11的概率 0.2 * 0.2
    • 01的概率 0.8 * 0.2
    • 10的概率 0.2 * 0.8
    • 由此得出,01和10是等概率的
    • 此题得解
/**
 *  请利用已有函数f()编写等概率0,1发生器
 */
public class Random01 {
    /**
     * 已有函数,不等概率的0,1发生器
     * 题目提供
     *
     * @return
     */
    public static int f(){
        return Math.random()>0.8? 0:1;
    }

    /******************答题部分*********************/

    /**
     * 执行两次
     * 00的概率 0.8 * 0.8
     * 11的概率 0.2 * 0.2
     * 01的概率 0.8 * 0.2
     * 10的概率 0.2 * 0.8
     * 由此得出,01和10是等概率的
     * 此题得解
     * @return
     */
    public static int f1(){
        int a;
        do {
            a = f();
        } while (a==f());
        return a;
    }



    public static void main(String[] args) {
        int size = 2;
        int[] count = new int[size];
        for (int i = 1; i < 10_000_000L; i++) {
            count[f1()]++;
        }
        for (int i = 0; i < size; i++) {
            System.out.println("出现" + i + "的次数为:" + count[i]);
        }
    }

}

测试结果

出现0的次数为:4996271
出现1的次数为:5003728
分享到:
TypeScript语法
算法题-随机函数01
  • 文章目录
  • 站点概览
柴子

内蒙 柴子

what do U want?

Github QQ Email RSS
最喜欢的电影
最喜欢的游戏
最喜欢的音乐
最喜欢的图书
最喜欢的动漫
夏洛特的烦恼
英雄联盟
痴心绝对
数据库从入门到删库跑路
斗破苍穹
看爆 Top5
  • 微信getUserProfile兼容性调整以及uniapp写法 1,866次看爆
  • gateway转发微服务请求丢失header参数 855次看爆
  • mybatis-plus代码生成器 849次看爆
  • Spring Boot Security从入门到进阶到高级 444次看爆
  • 物业报修系统设计-简化版 425次看爆
转载注明出处

站点已萌萌哒运行 00 天 00 小时 00 分 00 秒(●'◡'●)ノ♥

Copyright © 2022 柴子 京ICP备17035556号-1

由 Halo 强力驱动 · Theme by Sagiri · 站点地图