从5随机到7随机及其扩展
题目
给定一个等概率产生1~5的随机函数 rand1To5如下:
def rand1To5():import randomreturn int(random.random()*5) + 1
除此之外,不使用任何额外的随机机制,请用rand1To5实现等概率随机产生1~7的随机函数rand1To7
基本思路:
1、rand1To5() 等概率产生1,2,3,4,5
2、rand1To5()-1 等概率产生0,1,2,3,4
3、(rand1To5()-1)*5 等概率的产生0,5,10,15,20
4、(rand1To5()-1)*5+rand1To5()-1 等概率的产生0,1,2,3…23,24
5、如果步骤4产生的结果大于20,重新随机,直到产生的结果在0~20之间。
6、步骤5的结果再进行%7,然后再加1,就是最终的结果。
def rand1To5():import randomreturn int(random.random()*5) + 1def rand1To7():num = (rand1To5()-1)*5 + rand1To5() - 1while num > 20:num = (rand1To5()-1) * 5 + rand1to5() - 1return num%7 + 1
补充题目:给定一个以p概率产生0,以1-p概率产生1的随机函数rand01p如下:
def rand01p():p = 0.83return 0 if random.random() < p else 1
除此之外,不使用任何额外的随机机制,请用rand01p实现等概率随机产生1-6的随机函数rand1To6
思路:
虽然rand01p方法是以p的概率产生0,以1-p的概率产生1,但是rand01p产生01和10的概率却都是p(1-p),可以利用这点来实现等概率随机产生0和1的函数,有了等概率产生0和1的函数,接下来的步骤和原问题类似。先实现随机产生0~3的随机函数,再利用0~3的随机函数实现随机产生1~6的随机函数。
def rand01p():import randomp = 0.83return 0 if random.random() < p else 1def rand01():num = rand01p()while num == rand01p():num = rand01p()return numdef rand0To3():return rand01()*2 + rand01()def rand1To6():num = rand0To3()*4 + rand0To3()while num > 11:num = rand0To3()*4 + rand0To3()return num%6 + 1
从5随机到7随机及其扩展相关推荐
- matlab中随机森林实现,随机森林实现 MATLAB
matlab 中随机森林工具箱的下载地址: http://code.google.com/p/randomforest-matlab/downloads/detail?name=Windows-Pre ...
- python取随机小数_python随机小数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! nonceinteger是随机正整数,与 timestamp 联合起来,用于防止 ...
- Python,OpenCV鼠标事件进行矩形、圆形的绘制(随机颜色、随机半径)
Python,OpenCV鼠标事件进行矩形.圆形的绘制(随机颜色.随机半径) 1. 效果图 2. 源码 参考 这篇博客将介绍鼠标事件,并介绍鼠标事件矩形.圆形的绘制: 所有的鼠标事件(左键按下.左键释 ...
- pandas创建内容全是0的dataframe、pandas基于随机整数、随机浮点数创建dataframe(random numbers)
pandas创建内容全是0的dataframe.pandas基于随机整数.随机浮点数创建dataframe(random numbers) 目录 pandas创建内容全是0的dataframe.pan ...
- 为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段、极度随机数比随机森林快还是慢?
为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段.极度随机数比随机森林快还是慢? ExtRa Trees是Extremely Randomized Trees的缩写,意思就是 ...
- 在envi做随机森林_随机森林原理介绍与适用情况(综述篇)
一句话介绍 随机森林是一种集成算法(Ensemble Learning),它属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能.其可以 ...
- 12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例
1 信息熵 以下来自:https://www.zhihu.com/question/22178202/answer/161732605 1.2 信息熵的公式 先抛出信息熵公式如下: 1.2 信息熵 信 ...
- php中文本设置随机颜色,php 产生随机整数,随机字符串,随机颜色等类用法
/** * 产生随机整数,随机字符串,随机颜色等 * * @param * @arrange (512.笔记) jb51.cc **/ public static class RandomHelper ...
- 66元机票盲盒,去哪随机、日期随机:要不起!
来源 | 中新经纬 ID | jwview 文 | 张燕征 4月20日,飞猪推出66元机票盲盒:21日,去哪儿88元旅行盲盒上线:22日,携程99元"隐藏款"机票类盲盒也开售--五 ...
- python图像增强之随机翻转或随机旋转
假设输入的图像数据为img,标签label组成为classid.x.y.w.h,因此labels维度为Nx5.假设旋转前的坐标和尺寸为x0.y0.w0.h0.x.y.w.h均为归一化后坐标,即已经除以 ...
最新文章
- svm对未知数据的分类_基于SVM的高维不平衡数据分类方法与流程
- iOS-----程序异常处理----- 断言NSAssert()和NSParameterAssert区别和用处
- 手动修改user-agent
- phpAmin如何导入导出大数据文件?
- 相似图片搜索的原理(转)
- mysql 错误编码_【分享】MySQl操作系统提示错误编码
- vector 注意事项
- Java8 本地DateTime API
- 全球最急需的10项IT技术
- 100万个不重复的8位的随机数
- ElasticSearch出现Cluster state has not been recovered yet, cannot write to the [null] index的解决办法
- Spring Cloud随记---分布式配置中心初探--一个单节点的配置中心
- Ubuntu source list
- Ubuntu GCC编译器升级
- 十款乐高积木虚拟搭建软件,乐高仿真工具,积木模拟搭建耗材统计评估软件...
- 计算机基础知识题二,计算机基础知识题库(五)
- BMC指定4路NCSI网口中的一路
- 未来公园怎么能少了广场舞?
- windows7远程桌面连接时崩溃问题
- 装逼技巧:程序员如何用代码证明自己牛逼!
热门文章
- Winform开发框架里面使用事务操作的原理及介绍
- 监控摄像机选型攻略之有无必要性
- 控件联动(三级联动)
- Apache Shiro 使用手册---转载
- [转]OpenStack的网络模式
- 利用LFSR实现模2除法的原理
- vs.net2003无法打开*.xsd文件的解决方法
- python遇到Retry(total=4, connect=None, read=None, redirect=None, status=None)解决方案
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs
- PAT甲级1038 Recover the Smallest Number (30 分):[C++题解]贪心、排列成最小的数、字符串