题目

  给定一个等概率产生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随机及其扩展相关推荐

  1. matlab中随机森林实现,随机森林实现 MATLAB

    matlab 中随机森林工具箱的下载地址: http://code.google.com/p/randomforest-matlab/downloads/detail?name=Windows-Pre ...

  2. python取随机小数_python随机小数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! nonceinteger是随机正整数,与 timestamp 联合起来,用于防止 ...

  3. Python,OpenCV鼠标事件进行矩形、圆形的绘制(随机颜色、随机半径)

    Python,OpenCV鼠标事件进行矩形.圆形的绘制(随机颜色.随机半径) 1. 效果图 2. 源码 参考 这篇博客将介绍鼠标事件,并介绍鼠标事件矩形.圆形的绘制: 所有的鼠标事件(左键按下.左键释 ...

  4. pandas创建内容全是0的dataframe、pandas基于随机整数、随机浮点数创建dataframe(random numbers)

    pandas创建内容全是0的dataframe.pandas基于随机整数.随机浮点数创建dataframe(random numbers) 目录 pandas创建内容全是0的dataframe.pan ...

  5. 为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段、极度随机数比随机森林快还是慢?

    为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段.极度随机数比随机森林快还是慢? ExtRa Trees是Extremely Randomized Trees的缩写,意思就是 ...

  6. 在envi做随机森林_随机森林原理介绍与适用情况(综述篇)

    一句话介绍 随机森林是一种集成算法(Ensemble Learning),它属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能.其可以 ...

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

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

  8. php中文本设置随机颜色,php 产生随机整数,随机字符串,随机颜色等类用法

    /** * 产生随机整数,随机字符串,随机颜色等 * * @param * @arrange (512.笔记) jb51.cc **/ public static class RandomHelper ...

  9. 66元机票盲盒,去哪随机、日期随机:要不起!

    来源 | 中新经纬 ID | jwview 文 | 张燕征 4月20日,飞猪推出66元机票盲盒:21日,去哪儿88元旅行盲盒上线:22日,携程99元"隐藏款"机票类盲盒也开售--五 ...

  10. python图像增强之随机翻转或随机旋转

    假设输入的图像数据为img,标签label组成为classid.x.y.w.h,因此labels维度为Nx5.假设旋转前的坐标和尺寸为x0.y0.w0.h0.x.y.w.h均为归一化后坐标,即已经除以 ...

最新文章

  1. svm对未知数据的分类_基于SVM的高维不平衡数据分类方法与流程
  2. iOS-----程序异常处理----- 断言NSAssert()和NSParameterAssert区别和用处
  3. 手动修改user-agent
  4. phpAmin如何导入导出大数据文件?
  5. 相似图片搜索的原理(转)
  6. mysql 错误编码_【分享】MySQl操作系统提示错误编码
  7. vector 注意事项
  8. Java8 本地DateTime API
  9. 全球最急需的10项IT技术
  10. 100万个不重复的8位的随机数
  11. ElasticSearch出现Cluster state has not been recovered yet, cannot write to the [null] index的解决办法
  12. Spring Cloud随记---分布式配置中心初探--一个单节点的配置中心
  13. Ubuntu source list
  14. Ubuntu GCC编译器升级
  15. 十款乐高积木虚拟搭建软件,乐高仿真工具,积木模拟搭建耗材统计评估软件...
  16. 计算机基础知识题二,计算机基础知识题库(五)
  17. BMC指定4路NCSI网口中的一路
  18. 未来公园怎么能少了广场舞?
  19. windows7远程桌面连接时崩溃问题
  20. 装逼技巧:程序员如何用代码证明自己牛逼!

热门文章

  1. Winform开发框架里面使用事务操作的原理及介绍
  2. 监控摄像机选型攻略之有无必要性
  3. 控件联动(三级联动)
  4. Apache Shiro 使用手册---转载
  5. [转]OpenStack的网络模式
  6. 利用LFSR实现模2除法的原理
  7. vs.net2003无法打开*.xsd文件的解决方法
  8. python遇到Retry(total=4, connect=None, read=None, redirect=None, status=None)解决方案
  9. 《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs
  10. PAT甲级1038 Recover the Smallest Number (30 分):[C++题解]贪心、排列成最小的数、字符串