闲着也是闲着,自己写歌东西玩一玩,碰碰脑子,简单快乐一点,双人出数的小游戏,后续还带补充
主旨就是每个人出一个数,目前限制两人,之后考虑多人,然后对其取差值,获取到一个结果,比对结果的奇偶数,还可以看下两人出同一个数的概率,反正概率上是一个比较稳定的。
当然自己想玩的活也可以做些小手脚,比如奇数的结果固定的某些规则值,放到偶数集合中。
反正小手脚就自己玩吧
现在只是加了一个简单的逻辑,后续慢慢扩充吧,有兴趣,就把它弄成一个小网页,放到网站上
`
import javax.xml.validation.Validator;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class TwoPerson {
//创建一个随机数变量
static final Random random = new Random();
//偶数
static final AtomicInteger evenCount = new AtomicInteger();
//奇数
static final AtomicInteger oddCount = new AtomicInteger();
//相同的次数概率
static final AtomicInteger sameNum = new AtomicInteger();
//设定的 游戏次数
static final Long count = 1000000L;
//创建集合,第n次,相减的差,同时保留两人的数值
static final Map<Integer,Person> subPerson = new HashMap<>();
public static void main(String[] args) {int person1 = 0;int person2 = 0;int sub = 0;for (int i = 0 ; i < count ; i++){person1 = randomInt(0,9);person2 = randomInt(0,9);sub = person1-person2;if (sub < 0){sub = -sub;}Person person = new Person(person1, person2,sub);subPerson.put(i,person);}for (int i: subPerson.keySet()) {Person person = subPerson.get(i);if (person.getSub() % 2 == 0){evenCount.incrementAndGet();//得到结果之后就跳出循环,不再执行之后的判断
// continue;
}
if (person.getSub() % 2 > 0){
oddCount.incrementAndGet();
}
if (person.getSub() == 0){sameNum.incrementAndGet();}}//计算概率奇数的概率String odd = probability(count, oddCount.longValue());System.out.println("奇数的概率:"+odd );//计算概率偶数的概率String even = probability(count, evenCount.longValue());System.out.println("偶数的概率:"+even );//计算两人出同一个数的概率String same = probability(count, sameNum.longValue());System.out.println("两人相同的概率:"+same);}
//创建一个产生随机数的方法
private static int randomInt(int i,int j){//获取一个数据流,拿到其中的一个值IntStream ints = random.ints(i, j);return ints.iterator().nextInt();}
//计算概率
private static String probability(Long total,Long n){BigDecimal nB = new BigDecimal(n);BigDecimal tB = new BigDecimal(total);BigDecimal divide = nB.divide(tB);return divide+"%";}
}
//创建一个对象用于存储值
class Person{
private int person1;
private int person2;private int sub;public int getSub() {return sub;
}public void setSub(int sub) {this.sub = sub;
}public int getPerson1() {return person1;
}public void setPerson1(int person1) {this.person1 = person1;
}public int getPerson2() {return person2;
}public void setPerson2(int person2) {this.person2 = person2;
}
public Person (int person1,int person2,int sub){this.person1 = person1;this.person2 = person2;this.sub = sub;}
}
`
相关文章:
闲着也是闲着,自己写歌东西玩一玩,碰碰脑子,简单快乐一点,双人出数的小游戏,后续还带补充
主旨就是每个人出一个数,目前限制两人,之后考虑多人,然后对其取差值,获取到一个结果,比对结果的奇偶数,还可以看下两人出同一个数的概率,反正概率上是一个比较稳定的。 当然自己想玩的活也可以做…...
牛客网 -- WY28 跳石板
题目链接: 跳石板_牛客题霸_牛客网 (nowcoder.com) 解题步骤: 参考代码: void get_approximate(vector<int>& v,int n) {//求约数,从2到sqrt(n)即可,原因看图解//这里一定要等于sqrt(n),例如16…...
[正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。
一、字符串 1.字符串在内存中的存储方式 🔥在java中,内存中有两个地方可以存储字符串,一个是字符串池,一个是堆内存,串池中的字符串不会重复,而堆中的字符串每次都会开辟一块新的空间,因为维护…...
行情分析——加密货币市场大盘走势(10.18)
大饼昨日小幅度的下跌回调了,很快又上涨。目前看下来震荡向下刚刚开始,可以关注后续情况。大饼依然保持看空不做空,目前除了独立行情的币,就大饼非常强势。目前从MACD日线来看,还是保持多头趋势,预计明后两…...
高并发场景下常见的限流算法及方案介绍
应用场景 现代互联网很多业务场景,比如秒杀、下单、查询商品详情,最大特点就是高并发,而往往我们的系统不能承受这么大的流量,继而产生了很多的应对措施:CDN、消息队列、多级缓存、异地多活。 但是无论如何优化&…...
虹科分享 | 选择SAS还是NVMe?虹科网络基础带您一探究竟!
存储架构师需要通过确保他们选择的存储解决方案提供支持其生态系统所需的安全性、稳定性、可扩展性和管理特性来应对当今的业务挑战。当他们考虑采用新的存储技术时,在采用新技术之前,他们应该权衡和审查一些基本的考虑因素。新的存储协议不断进入市场&a…...
在ERP管理系统中,库存管理的基本流程是什么?
在ERP管理系统中,库存管理的基本流程是什么? 下面我就以我们公司正在用的简道云库存管理系统为例,为大家进行库存管理基本流程的演示 这个系统是我们公司自己搭建的,大家如果有需要可以自取,也可以在模板的基础上自行…...
Ruby 之 csv 文件读写
csv 文件写入 require csvtitle ["col1", "col2"] contents [["row11", "row12"], ["row21", "row22"]]csv1 CSV.open("test1.csv", "wb") do |csv|# write file titlecsv << titl…...
Android AMS——进程LRU列表更新(十七)
AMS对进程的管理主要体现在两个方面: 进程LRU列表动态更新:动态调整进程在mLruProcesses列表的位置进程优先级动态调整:实际是调整进程oom_adj的值。 这两项调整和系统进行自动回收有关,当内存不足时,系统会关闭一些进程来释放内存,下面就依据这两方面来看…...
【数据可视化】—大屏数据可视化展示
【数据可视化】—大屏数据可视化展示 一、数据可视化 数据可视化的目的:借助于图形化工具,清晰有效的传达与沟通信息。 数据可视化可以把数据从冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理。 二、 免费数据可视化库 Echarts 百度…...
计算机算法分析与设计(12)---贪心算法(最优装载问题和哈夫曼编码问题)
文章目录 一、最优装载问题1.1 问题表述1.2 代码编写 二、哈夫曼编码2.1 哈夫曼编码概述2.2 前缀码2.3 问题描述2.4 代码思路2.5 代码编写 一、最优装载问题 1.1 问题表述 1. 有一批集装箱要装上一艘载重量为 c c c 的轮船,已知集装箱 i ( 1 ≤ i ≤ n ) i(1≤i≤…...
打造属于自己的vue图标库
hfex-icon图标库 Install npm i -D hfex-icon主要提供2种使用方式 方式一 通过svg图标资源,借助unplugin-icons库将svg图标文件生成vue组件,然后通过vue组件的引入方式在vue中使用 unplugin-icons 兼容vue2和vue3 在vue.config.js的plugins中配置…...
C++11线程池
使用 condition_variable::wait(unique_lock<mutex>&lck, Predicate pred) 时,必须保证条件变量通过notify唤醒的同时,wait 的第二个参数 Predicate 返回 true 了才可以往下走。必须两个条件同时满足,如果notify的时候Predicate返回…...
企业打造VR虚拟展厅,开启商务洽谈新时代!
现代化数字营销中,企业做了虚拟线上展厅和不做虚拟展厅的对比是很明显的,VR虚拟展厅让企业产品、企业环境、企业实力的展示更加真实、直观。虚拟展厅是一种在线展示企业形象和品牌的新型方式,随着VR技术的发展,虚拟展厅正在逐步取…...
linux部署gitlab
1. 配置yum源: vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1 2. 更新本地缓存 sudo yum install -y gitlab-ce 3. 安装相关依赖 yum …...
c++_learning-基础部分
文章目录 基础认识:语言特性(面向对象编程):c的类(相当于c中的结构体):三大特性:c包含四种编程范式:优缺点: c程序编译的过程:预处理->编译&am…...
支持PC端、手机端、数据大屏端的Spring Cloud智慧工地云平台源码
技术架构:微服务JavaSpring Cloud VueUniApp MySql 智慧建筑工地云平台主要利用大数据、物联网等技术,整合工地信息、材料信息、工程进度等,实现对建筑项目的全程管理。它可以实现实时监测和控制,有效解决施工中的问题,…...
给cmd控制台程序 套壳 美化
给cmd控制台程序套壳美化,可以获取程序的标准输出和报错信息。 # _*_ coding: utf-8 _*_ """ 控制台程序启动器,杜绝黑窗口。 Time: 2023/10/18 15:28 Author: Jyun Version: V 0.1 File: main.py Blog: https://ctrlcv.…...
【系统架构设计】架构核心知识: 1 构件和中间件
目录 一 构件 1 构件的特性 2 构件、对象和模块的对比 3 构件的复用...
通过开发者工具-网络排查响应时间过长的问题
关键词:network 网络 pending 开发者工具 有时候我们会发现某次http请求花费了很长时间,比如会花费十几秒,那么我们可以通过开发者工具的网络和其他一些工具来分析请求时间过长的原因 Dev Tool 中时间线各阶段代表的意义 分别用edge、chorm…...
浏览器指纹JS逆向全解析:Canvas、WebGL与Audio指纹绕过
在当前的反爬虫与风控体系中,浏览器指纹技术已成为识别自动化工具的核心手段。传统的UserAgent、IP地址等信息早已不足为凭,而基于Canvas、WebGL、AudioContext等API生成的“渲染层指纹”,因其高度依赖硬件和系统环境,具备极强的唯…...
【VScode】STM32CubeMX+VScode开发编译下载STM32程序(基于Cmake工程)
【VScode】STM32CubeMXVScode开发STM32程序(基于Cmake工程) 文章目录准备工作安装上述软件(略)为VScode配置隔离开发环境-cubeMX为新环境安装插件1. 安装STM32CubelIDE for Visual Studiio Code插件2. 安装Cortex-Debug插件3. 安装…...
用Python lifetimes库实战:手把手教你用BG/NBD+Gamma-Gamma模型预测电商用户未来3个月价值
用Python lifetimes库实战:电商用户价值预测的极简指南 电商行业的核心挑战之一是如何精准识别高价值用户。想象一下,你手头有一份过去12个月的交易数据,老板要求你在下周的预算会议前,预测未来三个月哪些用户最值得投入营销资源。…...
用废旧材料制作发光机械鱼:Circuit Playground Express与MakeCode入门实践
1. 项目概述:当废旧材料遇见微控制器每次清理工作室,看着角落里堆满的包装盒、塑料瓶和旧电线,我总在想,除了扔掉,它们还能不能有第二次生命?直到我尝试将一块小小的微控制器塞进这些“垃圾”里,…...
两阶段目标检测器核心原理与流程详解
两阶段目标检测器的核心思想是:第一阶段先找候选区域,第二阶段再对候选区域做分类和精修。典型代表是: R-CNN Fast R-CNN Faster R-CNN Mask R-CNN现在最典型的是 Faster R-CNN / Mask R-CNN,所以我以它为主来讲。1. 两阶段目标检…...
多平台布局时代,店群账号高效管控之道
在电商行业持续精细化运营的当下,店群模式仍是商家拓宽渠道、分散风险、提升规模效应的主流选择。伴随抖店、拼多多、TikTok Shop、Temu、亚马逊等国内外平台规则趋严,多店铺账号管理已成为制约店群商家稳定经营的关键瓶颈。传统依赖人工登记、多设备登录…...
从ZZULIOJ 1138题出发,手把手教你用C语言写一个‘标识符检查器’小工具
从OJ题到实战工具:用C语言打造智能标识符检查器 在编程学习过程中,我们经常遇到各种在线判题系统(OJ)的练习题,比如判断一个字符串是否为合法的C语言标识符。这类题目看似简单,但如何将其转化为一个真正实用…...
Linux内核PCIe热插拔驱动开发实战:从IDT芯片到稳定运行
1. 项目概述与核心价值最近在搞一个嵌入式设备项目,需要实现PCIe设备的热插拔支持。这玩意儿在服务器、存储阵列和工业控制领域太常见了,但真要在Linux内核里把它做稳定、做可靠,里面的门道可不少。我这次折腾的,就是一个基于Linu…...
观察使用TaotokenTokenPlan后项目月度AI成本的变化趋势
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察使用Taotoken TokenPlan后项目月度AI成本的变化趋势 对于许多采用按量计费模式的中小型项目而言,大模型API的月度支…...
终极GBFR Logs指南:掌握碧蓝幻想Relink伤害分析的完整教程
终极GBFR Logs指南:掌握碧蓝幻想Relink伤害分析的完整教程 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbfr-logs …...
