当前位置: 首页 > news >正文

4 随机数 从一个随机数到另外一个随机数、等概率随机

指定范围随机数
例如基于【1-5】随机到【1-7】

public class Code2_RandToRand {// 返回[1,5] 随机整数int f1() {// [0,1) 随机doubledouble random = Math.random();// [0,6] 随机整数return (int) (random * 5) + 1;}// 从[1,5]随机数转换为0和1的随机数int f2() {int i;do {i = f1();if (i < 3) { //小于3 转为0return 0;}if (i > 3) { //大于3 转为1return 1;}} while (i == 3); //等于3 重新随机return i;}// 从0和1的随机数转为[0-6]// 需要3个bit 000->111 当为7时重新随机int f3() {int i;do {i = (f2() << 2) + (f2() << 1) + f2();if (i < 7) {return i;}} while (i == 7);return i;}// 将[0-6]转为[1-7]int f4() {return f3() + 1;}public static void main(String[] args) {Code2_RandToRand rangeRandom = new Code2_RandToRand();int[] arr = new int[8];for (int i = 0; i < 700000; i++) {arr[rangeRandom.f4()]++;}System.out.println(Arrays.toString(arr));  //0位置出现0次,1到7位置上出现次数大致相同}
}

等概率随机:
基于一个随机函数,将不等概率返回值,调整为等概率返回值

public class Code3_SamePossibleRand {/*** 有个函数以70%概率返回0,30%概率返回1* @return 返回值*/public static int x() {return Math.random() < 0.7 ? 0 : 1;}/*** 基于x函数实现,等概率返回0和1* @return 返回值*/public static int y(){int a=0;do{a=x();}while (a==x());return a;}public static void main(String[] args) {int[] arr=new int[2];for (int i=0;i<1000000;i++){arr[y()]++;}System.out.println(Arrays.toString(arr));}
}

http://www.dtcms.com/a/474304.html

相关文章:

  • 机器学习17:如何有效使用自监督式学习
  • 生成对抗网络(GAN)及其变种:CycleGAN和StarGAN
  • dede网站地图html文件公司部门撤销要求转岗不同意怎么办
  • 国外购买空间的网站有哪些最优惠的网站优化
  • Linux安装JDK1.8 tomcat MariaDB(MySQL删减版)
  • 【C++】C++中的异常处理try-catch
  • 珠海专业做网站的公司交友软件
  • rclone:安装与配置
  • 第128题 最长连续序列
  • 深度学习》【项目】自然语言处理——情感分析 <上>
  • 在哪里申请网站域名免费制作表白网页
  • 外设模块学习(6)——DHT11温湿度传感器(STM32)
  • 创造网站软件icp备案查询
  • 计算机视觉——从YOLO系列演进到YOLOv12架构创新、注意力机制优化、推理实践与性能基准
  • 广州网站建设公司广州企业网站建设公司公司网站建设网站建设合同需要印花税
  • 门户网站开发需求律师网络推广
  • FSR《软件开发可行性分析报告》全面概述
  • 鸿蒙开发实战:从零构建可扩展的数据迁移机制,让数据库升级不再崩
  • java接收小程序发送的protobuf消息
  • 沧州市高速公路建设管理局网站龙岩天宫山有几个台阶
  • 闽侯做网站做国际物流需要哪些网站
  • 【Swift】LeetCode 49. 字母异位词分组
  • 对网站建设建议外加工活怎么直接找厂家接单
  • (17)100天python从入门到拿捏《正则表达式》
  • 【C++】深入理解list底层:list的模拟实现
  • 用Spring Cloud打造健壮服务:熔断与降级如何护航核心业务
  • 网站平台怎么推广企业的做网站
  • 机器学习-推荐系统(上)
  • 网站建设费用的财务核算三丰云服务器
  • 权威的建筑工程网站ui设计培训内容