由等概率(a,b)生成等概率(c,d)

news/2025/10/9 19:32:11/文章来源:https://www.cnblogs.com/zhiyuanqiyuan/p/19131826
问题描述:有一个函数,可以等概率的生成x∈(a,b),如何编写函数生成x∈(c,d)
举例f函数可以生成[1,5],生成[1,7]
 1 public static int f() { 2 return (int) (Math.random() * 5) + 1; 3 } 
 
解题思路:
  1. 通过f()改造成等概率的0和1函数f1()
  2. 通过f1()生成f2()∈[0,7],借用二进制思路
  3. 通过f2()生成f3()∈[0,6]
  4. f3()+1即可
 
f1()的实现:
f(x)∈[1, 2, 3, 4, 5]
f1(x) = 0 when x = 1 or 2
f1(x) = 1 when x = 4 or 5 
f1(x)重新计算 when x = 3
 1 public static int f1() {
 2 
 3         int result = f();
 4 
 5         while (result == 3) {
 6             result = f();
 7         }
 8 
 9         if (result == 1 || result == 2) {
10             return 0;
11         } else {
12             return 1;
13         }
14     }
 
通过01二进制实现[0,7]
000 = 0 001 = 1 010 = 2 ... 111 = 7
1 public static int f2() { 2 return (f1() << 2) + (f1() << 1) + f1(); 3 } 
x∈[0,5], f2(x)∈[0,7],当f(x)=7的时候在重新计算,就完成了[0,6]
 public static int f3() {int result = f2();while (result == 7) {result = f2();}return result;}
 
[0,6]+1=[1,7]
 public static int f4() {int result = f3();return result + 1;}

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

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

相关文章

是时候使用NanoID取代UUID了

是时候使用NanoID取代UUID了是时候使用NanoID取代UUID了付国强兴趣是一个人成功的基石​关注他5 人赞同了该文章 UUID是软件开发中最常用的通用标识符之一。然而,在过去的几年里,其他替代品挑战了它的存在。其中,N…

经营分析会 - 智慧园区

很多公司的经营分析会,最终都变成了“数据的狂欢,行动的荒漠”。报表一页页翻,指标一个个念,大家口干舌燥,却还是不知道问题到底出在哪、该怎么办。问题的根源其实很简单: 财务指标只能告诉你“发生了什么”,却…

详细介绍:C#练习题——泛型实现单例模式和增删改查

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

Ivanti EPM移动版12.5.0.0身份验证绕过漏洞分析与利用

本文详细分析了Ivanti Endpoint Manager Mobile 12.5.0.0版本中的身份验证绕过漏洞(CVE-2025-4428)和表达式语言注入漏洞(CVE-2025-4427),提供了完整的Python利用代码,可实现未授权远程命令执行。Ivanti Endpoint Ma…

自动评估问答模型的技术突破

本文介绍了一种名为AVA的自动问答模型评估方法,采用创新的peer attention机制,在NAACL会议上展示。该方法相比人工评估错误率仅为7%,包含线性模型和基于Transformer的神经网络模型,使用包含200万训练样本的数据集。…

task8.c

task8.cinclude<stdio.h> include<math.h> int main() { double s, a, b, c, area; while (scanf_s("%lf%lf%lf", &a, &b, &c) != EOF) { s = (a + b + c) / 2; area = sqrt(s * (s…

运行Udacity的MPC控制项目指南(project_10)在Ubuntu 18.04环境下

系统更新与工具安装更新系统包列表:打开终端并运行以下命令以确保所有软件包都是最新的。 sudo apt update sudo apt upgrade安装构建工具:安装编译器和构建依赖项。 sudo apt install build-essential cmake git li…

深入解析:Java 将 PDF 转换为 PDF/A:数字文档归档的基石

深入解析:Java 将 PDF 转换为 PDF/A:数字文档归档的基石pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

入门正当时!MQTT协议轻量简洁,但应用绝不简单

MQTT凭借低带宽、低功耗的优势成为物联网通信的基石。尽管协议本身简洁,但其在真实项目中的部署与优化却充满挑战。本教程助你从基础迈向实战。 MQTT——全称Message Queuing Telemetry Transport消息队列遥测传输协议…

MFC中开源布局库---ResizableLib - 教程

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

英语阅读

桥梁书: https://zhuanlan.zhihu.com/p/1919350330669397464

JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本

JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本JetBrains 官宣 DataGrip 数据库 IDE 现可免费用于非商业用途,适用于 2025.2.4 或更新版本2025/10/3 22:37:36 来源:IT之家…

CF1832D2 Red-Blue Operations (Hard Version) 模拟赛题目分析

CF1832D2 Red-Blue Operations (Hard Version) 题目概述 给你 \(\{a_n\}\),第 \(i\) 次操作,如果是你第奇数次操作当前位置则令它 \(+i\) 否则 \(-i\)。 给出 \(q\) 个询问,问你进行完 \(k\) 个操作之后 \(a\) 中的…

PostgreSQL pg_auto_failover 高可用 1:pg_auto_failover集群搭建

PostgreSQL pg_auto_failover 高可用 1:pg_auto_failover集群搭建 0,pg_auto_failover架构 开始之前,先看一下pg_auto_failover的一个最基础架构原理如下,需要弄清楚几个节点的作用 1,monitor节点纯粹是一个监控…

详细介绍:cpolar让Nastool影音库随身而行,随时随地享受视听自由

详细介绍:cpolar让Nastool影音库随身而行,随时随地享受视听自由pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

网络流最小割,无向图建图法,求最小割点转换求最小割边

洛谷P1345 假设原来的点编号为i,总共有n个点,那么我们就把每个点拆成两个点,编号分别为i和i+n。其中点i负责连接原图中连入这个点的边,点i+n负责连原图中连出这个点的边。 add ( i, i+n, 1 ) ; add ( i+n, i, 0 )…

2025/10/9

2025/10/9学习算法 学习数据结构 写题

看论文随笔Incendio: Priority-Based Scheduling for Alleviating Cold Start in Serverless Computing

基于优先级的无服务器计算冷启动调度 首先摘要: 说明,在无服务器中,冷启动会导致较长的响应延迟。 解决方法是通过减少冷启动的次数来缓解。 然而,现实中,最小冷启动次数并不等于最小响应延迟,根本原因是通过冷启…

深度学习概述 - -一叶知秋

深度学习概述复杂模型 S曲线S曲线改变参数加入更多的Features 例子 1、搭建模型 括号里的作用就是得出 r蚂蚁线内的作用是将 r 通过sigmoid函数,得出 a一个简单的写法最后都乘以 c 加到一起在加 b 得出 y线性代数表示…

C++新语法学习笔记(更新我不会写的新语法)

C++新语法学习笔记(更新我不会写的新语法)顺序填充数组:iota,在头文件numeric中 iota(.begin(), .end(), 参数);//从参数开始填充:参数,参数+1