有一个[1,5]的等概率随机函数fx(),在不改变fx()函数的情况下,利用fx()函数做出一个[1,7]的等概率随机函数。

news/2025/9/26 20:05:19/文章来源:https://www.cnblogs.com/tianzhentian/p/19114166

题目解析

  1. 首先需要将fx函数转化为一个0,1的等概率的心函数
  2. 对要转换的函数的范围分析
  3. 通过0,1等概率函数利用二进制规则转换为所需的函数
// 制作1-5上的随机函数
public static int fx() {  return (int) (Math.random() * 5) + 1;  
}

第一步:将fx函数转化为一个0,1的等概率的心函数

// 将fn转换为0,1等概率随机函数  
public static int fn2() {  int fn = fn();  while (fn == 2) {  fn = fn();  }  return fn < 3 ? 0 : 1;  
}

第二步:对要转换的函数的范围分析

1~7等概率,观察我们制作随机函数,我们也可以先做一个0~6的等概率函数,然后再加一即可得到1~7的等概率函数
第三步:通过0,1等概率函数利用二进制规则转换为所需的函数
这里要做的内容就变为“如何通过等概率发射器生成二进制0~6等概率函数”。
二进制想要表达0~6之间的所有数最小需要四位。只需要连续roll4次等概率发射器即可生成从0~8的随机数,且每次得到的最终结果是等概率的。
但是我们不需要除了0~6以外的数值,所以如果大于6就再从头来一次,直到在范围以内在停止。

public static int fn3() {  int a = 0;  do {  String result = "";  for (int i = 0; i < 4; i++) {  result += fn2();  }  a = Integer.parseInt(result, 2);  }while (a > 6);  return a + 1;  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WSL2 磁盘清理

首先清理 apt, snap, 各个包管理器的缓存和系统日志。 然后使用 du 或 ncdu 查看磁盘空间占用,继续清理。 等到释放了空间后,再去重置 vhdx 文件大小。 重置 vhdx 文件大小 以下路径中的用户名和包名请自行修改。 se…

洛阳市做网站的wordpress百度地图使用方法

1.2.6 嵌套表AS TABLE OF嵌套表是表中之表&#xff0c;一个嵌套表是某些行的集合&#xff0c;它在主表中表示为其中的一列。对主表中的每一条记录&#xff0c;嵌套表可以包含多个行。语法如下&#xff1a;CREATE OR REPLACE TYPE table_name AS TABLE OF type;语法说明&#x…

完整教程:1.DHCP服务器

完整教程:1.DHCP服务器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…

关于OneBot的QQ机器人探索2

一个QQ聊天机器人,按照OneBot v11协议进行开发 目前实现的主要功能有: - echo 消息回显 - 搜索歌曲并发送音乐卡片 - AI聊天,概率性主动回复,支持在QQ中使用指令切换AI模型和提示词 - bing每日一图获取并发送 - 群…

一个网站怎样做两个后台网站建设软件培训学校

文章目录 前言1. 安装docker与docker-compose2. 启动容器运行镜像3. 本地访问测试4.安装内网穿透5. 创建公网地址6. 创建固定公网地址 前言 今天和大家分享一款在G站获得了26K的强大的开源在线协作笔记软件&#xff0c;Trilium Notes的中文版如何在Linux环境使用docker本地部署…

德阳网站设计网站 流程优化

如果经常在远程服务器或嵌入式设备中操作图片&#xff0c;要查看图片效果&#xff0c;就要先把图片dump到本地&#xff0c;比较麻烦。可以使用这个工具&#xff0c;直接在终端上显示。类似于这种效果。 imgcat 是一个终端工具&#xff0c;使用 iTerm2 内置的特性&#xff0c;允…

putty

https://www.cnblogs.com/zeoHere/p/18845009

深入解析:PHP 8.0+ 高级特性深度探索:架构设计与性能优化

深入解析:PHP 8.0+ 高级特性深度探索:架构设计与性能优化pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

网站前后台代码诺亚人力资源外包网

vue 悬浮球(带自动吸附功能)_vue悬浮球-CSDN博客

Django 搭配数据库开发智慧园区系统全攻略 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站白名单查询网页制作培训有前途吗

PostgreSQL 中文社区 PL/pgSQL 是 PostgreSQL 中的一种存储过程语言&#xff0c;它支持许多常用的函数和操作符。下面列举了一些常用的 PL/pgSQL 函数和操作符&#xff1a; 1. 常用函数&#xff1a; RAISE&#xff1a;用于在存储过程中抛出异常。 RAISE EXCEPTION Error oc…

客服系统源码二次开发

我开发的客服系统后端是使用的Golang语言,Go是Google公司开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go 天生支持并发。好处太多就不多说了。 全源码客服系统用户,想要针对自己的业务,进…

喜讯!狮桥集团成为天津市行政执法监督企业联系点,共筑法治营商新环境!

近日,天津市司法局发布公告,为做好规范涉企行政执法专项行动,进一步拓宽社会力量参与行政执法监督渠道,提升行政执法监督效能,优化法治化营商环境,根据中共中央办公厅、国务院办公厅印发的《关于加强行政执法协调…

完整教程:神经网络torch学习路线规划

完整教程:神经网络torch学习路线规划2025-09-26 19:38 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

redis实现分布式锁2

具体实现:点击查看代码package com.hmdp.utils;import cn.hutool.core.lang.UUID; import org.springframework.data.redis.core.StringRedisTemplate;import java.util.concurrent.TimeUnit;public class SimpleRedi…

网站内页百度不收录做网站怎么

linux启动或关闭mysql时提示&#xff1a;Warning: World-writable config file /etc/my.cnf is ignored.什么鬼&#xff1f; 意思是&#xff1a; 警告&#xff1a;全世界都能写的一个配置文件已经被我给忽略了。什么要忽略&#xff1f;因为mysql觉得他太low了&#xff0c;不安全…

PostgreSQL 和 MySQL两个数据库的索引的区别 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

题解:P7334 [JRKSJ R1] 吊打

洛谷。 题目传送门。 本 DS 领域萌新花了 4h 才切掉此题,遂写篇题解纪念一下。 分析 首先需要明确一点:这题不能直接维护原序列,因为平方时不能直接取模,这就导致结果会非常大,很容易溢出。 为什么不能直接取模呢…

当不小心误触了一个事件该如何删除呢

以Button按钮为例 ,当不小心多点了一下会生成一个事件方法 ,那么该如何去进行一个解决呢方法:点击属性 ,找到事件 ,在对应的事件中右键点击重置 然后再删除对应的一个事件方法即可

跑腿小工具|基于微信小脚本的跑腿平台小程序设计与实现(源码+数据库+文档)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …