【概率】由已有的随机生成器构造出新的随机生成器
题目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).剩余过程略。
【概率】由已有的随机生成器构造出新的随机生成器相关推荐
- 使用python来构造有向随机网络
使用python来构造有向随机网络 # -*- coding: utf-8 -*- """@author: Administrator """ ...
- 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
为随机数生成器初始化一个种子值在易语言中使用什么命令名 置随机数种子 () '调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算 英文名称: ...
- 12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例
1 信息熵 以下来自:https://www.zhihu.com/question/22178202/answer/161732605 1.2 信息熵的公式 先抛出信息熵公式如下: 1.2 信息熵 信 ...
- 微信红包随机数字_微信红包随机算法转载
php固定红包 + 随机红包算法 1 需求 CleverCode最近接到一个需求,需要写一个固定红包 + 随机红包算法. 1 固定红包就是每个红包金额一样,有多少个就发多少个固定红包金额就行. 2 随 ...
- 《随机出题软件》《随机分队软件》源码(Windows API)
1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...
- 伪随机算法c语言,伪随机算法实现各语言实现示例。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 无聊,又研究了一下几种排序算法,在测速的时候,发现自己忘记了一个重要的问题,在某天看到有人在帖吧提到生成随机数只计数到32768就停止了,顺手查了一下C库 ...
- 编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的“随机步法”。程序必须随机地从一个元素“走到”另一个元素,每次都向上、向下、向左或向右移动一个元素位置
编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的"随机步法".程序必须随机地从一个元素"走到"另一个元素,每次都向上.向下.向左或向右移动一个 ...
- 把一个数随机分成n份,随机数字和等于总数 PHP代码
把一个数随机分成n份,随机数字和等于总数 PHP代码 例如:100随机分成5份,5个数字的和等于100: 一.100个数随机分成10份: 说明: 1.此算法money_total值可大于 person ...
- python3生成器函数_Python 3 之 生成器详解
------ 生成器 ------------------------------------------------------------------ 如今Python对延迟提供更多的支持--它提 ...
- python随机生成密码字符串_Python随机生成带特殊字符的密码
在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密 ...
最新文章
- final在类和方法中的使用
- python列表数据类型一致_python自学——数据类型之列表
- [转]vb高效编程(优化)
- 结构体08:结构体案例2
- 3dmax加载las数据
- Steam忘记账号如何在文件夹中找回
- 2020年日历电子版(打印版)_2020年日历表(高清A4可打印版).pdf
- java开发工具排名_排名前16的Java工具类
- 学3D建模需要多久?
- Git patch的使用方法和场景
- 从天津滨海新区大爆炸、危化品监管聊聊 IT人背负的社会责任感
- ElasticSearch 2.4.X实现中文拼音排序
- Java中Number转为百分比
- Python Selenium:键盘鼠标操作
- Linux系统 运行小花仙游戏(针对2021年Flash停止维护的情况)
- 计算机教师面试题模板,教师资格证面试-小学信息技术试讲稿模板
- 打死我也不说(深度优先搜索)
- TM4C123 QEI 初始化
- oracle方案的概念,Oracle 系统中方案的概念
- 面试必备:深入了解冒泡、选择和插入排序的优缺点