题目1:现有随机生成器rand3(),可以产生0~2这三个整数中的随机一个。你能构造出一个新的随机生成器rand88(),让它产生0~87之间的随机数吗?

思路:

1,randN()若能产生1~N之间的随机数,那么用两次randN()就能产生1~N^2之间的随机数,第一个随机数用来决定大的区域是哪一块,第二个随机用来决定选定大区域后里面的小区域选择哪一块。同理也能产生1~N^3, 1~N^4, ... 1~N^m等等之间的随机数。2,randN()若能产生1~N之间的随机数,那么通过范围舍弃,能产生1~M(M<N)之间的随机数, 原理是若产生的随机数超过M就舍弃继续调用randN(). 这会涉及到一个命中率的问题,因为每次超过范围了就必须再次调用,有不确定性。                                              3,randN()若能产生1~N之间的随机数,且N=kM(即N时M的整数倍),那么通过取模可以产生1~M之间的随机数,即randN()%M+1.

根据以上三条,便可以由已知的随机生成器构造出任何新的随机生成器。

题目2:现有随机生成器rand(),有0.3的概率产生0,   0.7的概率产生1。你能构造出一个新的随机生成器rand2(),让它等概率产生0和1吗?

思路:

用两次rand(), 两次的结果有 00, 01, 10, 11这四种,其中 01 和 10 的出现概率是相同的(0.21).剩余过程略。

【概率】由已有的随机生成器构造出新的随机生成器相关推荐

  1. 使用python来构造有向随机网络

    使用python来构造有向随机网络 # -*- coding: utf-8 -*- """@author: Administrator """ ...

  2. 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数

    为随机数生成器初始化一个种子值在易语言中使用什么命令名 置随机数种子 () '调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算 英文名称: ...

  3. 12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例

    1 信息熵 以下来自:https://www.zhihu.com/question/22178202/answer/161732605 1.2 信息熵的公式 先抛出信息熵公式如下: 1.2 信息熵 信 ...

  4. 微信红包随机数字_微信红包随机算法转载

    php固定红包 + 随机红包算法 1 需求 CleverCode最近接到一个需求,需要写一个固定红包 + 随机红包算法. 1 固定红包就是每个红包金额一样,有多少个就发多少个固定红包金额就行. 2 随 ...

  5. 《随机出题软件》《随机分队软件》源码(Windows API)

    1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...

  6. 伪随机算法c语言,伪随机算法实现各语言实现示例。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 无聊,又研究了一下几种排序算法,在测速的时候,发现自己忘记了一个重要的问题,在某天看到有人在帖吧提到生成随机数只计数到32768就停止了,顺手查了一下C库 ...

  7. 编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的“随机步法”。程序必须随机地从一个元素“走到”另一个元素,每次都向上、向下、向左或向右移动一个元素位置

    编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的"随机步法".程序必须随机地从一个元素"走到"另一个元素,每次都向上.向下.向左或向右移动一个 ...

  8. 把一个数随机分成n份,随机数字和等于总数 PHP代码

    把一个数随机分成n份,随机数字和等于总数 PHP代码 例如:100随机分成5份,5个数字的和等于100: 一.100个数随机分成10份: 说明: 1.此算法money_total值可大于 person ...

  9. python3生成器函数_Python 3 之 生成器详解

    ------ 生成器 ------------------------------------------------------------------ 如今Python对延迟提供更多的支持--它提 ...

  10. python随机生成密码字符串_Python随机生成带特殊字符的密码

    在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密 ...

最新文章

  1. final在类和方法中的使用
  2. python列表数据类型一致_python自学——数据类型之列表
  3. [转]vb高效编程(优化)
  4. 结构体08:结构体案例2
  5. 3dmax加载las数据
  6. Steam忘记账号如何在文件夹中找回
  7. 2020年日历电子版(打印版)_2020年日历表(高清A4可打印版).pdf
  8. java开发工具排名_排名前16的Java工具类
  9. 学3D建模需要多久?
  10. Git patch的使用方法和场景
  11. 从天津滨海新区大爆炸、危化品监管聊聊 IT人背负的社会责任感
  12. ElasticSearch 2.4.X实现中文拼音排序
  13. Java中Number转为百分比
  14. Python Selenium:键盘鼠标操作
  15. Linux系统 运行小花仙游戏(针对2021年Flash停止维护的情况)
  16. 计算机教师面试题模板,教师资格证面试-小学信息技术试讲稿模板
  17. 打死我也不说(深度优先搜索)
  18. TM4C123 QEI 初始化
  19. oracle方案的概念,Oracle 系统中方案的概念
  20. 面试必备:深入了解冒泡、选择和插入排序的优缺点

热门文章

  1. 计算机网络原理(3)数据编码技术
  2. 直连路由、主机路由以及选择顺序
  3. 位运算4 起床困难综合症
  4. matlab生成的fig文件名字修改
  5. 决策树---使用三种方法对数据建立决策树
  6. win7计算机怎么初始化,win7怎么初始化电脑 win7初始化电脑步骤
  7. 计算机wmi配置错误,系统没有WMI服务、WMI错误修复办法
  8. stylus -w style.styl -o style.css
  9. 智能插帧,打造丝滑视频体验
  10. Matlab中struct2cell函数使用