蓝桥杯专题-真题版含答案-【古代赌局】【古堡算式】【微生物增殖】【密码发生器】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总
游戏脚本-辅助自动化Android控件全解手册再战Android系列
Scratch编程案例软考全系列Unity3D学习专栏
蓝桥系列ChatGPT和AIGC

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单

CSDN-芝麻粒儿

👉实践过程

😜古代赌局

俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。
有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。
所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:

  1. 若某一个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付(即1比1的赔率)。
  2. 若有两个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的2倍赔付(即1比2的赔率)。
  3. 若三个骰子上的数字都与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的6倍赔付(即1比6的赔率)。
  4. 若玩家所押注匣子号与某个骰子示数乘积等于另外两个骰子示数的乘积,则玩家拿回自己的押注,庄家也不赔付(流局)。
  5. 若以上规则有同时满足者,玩家可以选择对自己最有利的规则。规则执行后,则庄家收获所有匣子上剩余的押注。
    乍一看起来,好像规则对玩家有利,庄家吃亏。但经过大量实战,会发现局面很难说,于是怀疑是否庄家做了手脚,
    庄家则十分爽快地说:可以由玩家提供骰子,甚至也可以由玩家来投掷骰子。
    你的任务是:通过编程模拟该过程。模拟50万次,假定只有1个玩家,他每次的押注都是1元钱,其押注的匣子号是随机的。
    再假定庄家有足够的资金用于赔付。最后计算出庄家的盈率(庄家盈利金额/押注总金额)。
    【输入、输出格式要求】
    程序无输入,程序运行输出庄家的盈率,四舍五入保留到小数后3位。
    【注意】
    请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
    请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
    相关的工程文件不要拷入。
    请不要使用package语句。
    源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。
package Question10_19;
importjava.util.Scanner;
publicclass Question14 {publicstaticvoid main(String[] args) {int a,b,c,d,sum = 0;for (int i = 0; i < 500000; i++) {a=(int) (Math.random()*6)+1;b=(int) (Math.random()*6)+1;c=(int) (Math.random()*6)+1;d=(int) (Math.random()*6)+1;//	System.out.println(a+"  "+b+"  "+c+"  "+d);if(a==b&&a==c&&a==d){sum-=6;}elseif((a==b&&a==c)||(a==c&&a==d)||(a==b&&a==d)){sum-=2;}elseif(a==b||a==c||a==d){sum-=1;}elseif ((a*b==c*d)||(a*c==b*d)||(a*d==b*c)) {sum-=0;}else {sum+=1;}}System.out.printf("%.3f",sum/500000f);}
}
程序输出:
0.021
import java.math.BigDecimal;  
public class Demo04 {  static int sum = 0; // 庄家总钱数   public static void f(int m,int n,int a,int b,int c){  if(n==a&&n==b&&n==c){  sum -= 6*m;  }else if(n==a&&n==b||n==a&&n==c||n==b&&n==c){  sum -= 2*m;  }else if(n==a||n==b||n==c){  sum -= m;  }else if(!(n*a==b*c||n*b==a*c||n*c==a*b)){  sum += m;  }  }  public static void main(String[] args) throws Exception{  int m = 1;  // 押注都是1元钱   int n;      // 押注匣子号   int a;      // 第一个骰子   int b;      // 第二个骰子   int c;      // 第三个骰子   for(int i=0;i<500000;i++){  n = (int)(Math.random()*6+1);  a = (int)(Math.random()*6+1);  b = (int)(Math.random()*6+1);  c = (int)(Math.random()*6+1);  f(m,n,a,b,c);  }  
//      float f = (new BigDecimal(sum).divide(new BigDecimal(500000),   
//              3,BigDecimal.ROUND_HALF_UP)).floatValue();   
//      System.out.println(f);   double d = sum/500000f;  System.out.printf("%.3f\n",d);  }  
}  运行结果:
0.025结果2:
0.022  结果3:
0.024
.....

😜古堡算式

福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。

public class TDemo02_two {publicstaticvoid main(String[] args){for(int i=10000;i<100000;i++){int a = i/10000;int b = i%10000/1000;int c = i%10000%1000/100;int d = i%10000%1000%100/10;int e = i%10;if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e){continue;}int y = e*10000+d*1000+c*100+b*10+a;if(y%i==0){System.out.println(i+"*"+y/i+"="+y);}}}
}
运行结果:
21978*4=87912
public class Demo02 {  // 检查是否是全111111...   public static boolean check(int[] b){  boolean flag = true;  for(int i=0;i<b.length;i++){  if(b[i]==0){  flag = false;  break;  }  }  return flag;  }  // 检查是否是一个五位数   public static boolean checkFive(int[] b){  boolean flag = false;  int count = 0;  for(int i=0;i<b.length;i++){  if(b[i]==1){  count++;  }  }  if(count==5) flag = true;  return flag;  }  // 得到一个五位数字   public static String values(int[] b){  StringBuffer sb = new StringBuffer();  for(int i=0;i<b.length;i++){  if(b[i]!=0){  sb.append(i);  }  }  return sb.toString();  }  // 反转 n   public static int reverse(int n){  StringBuffer sb = new StringBuffer();  sb.append(n);  sb.reverse();  return Integer.parseInt(sb.toString());  }  // 进位得到下一个数字   public static void modify(int[] b){  b[b.length-1]++;  for(int i=b.length-1;i>0;i--){  if(b[i]>1){  b[i] = 0;  b[i-1]++;  }  }  }  public static void calc(String s){  int n = Integer.parseInt(s);    // 得到一个五位数字   int r = reverse(n); // 反转 n   if(r%n==0)  // 得到结果 n * ? = r   System.out.println(n+"*"+(r/n)+"="+r);  }  public static void allSort(char[] c,int start,int end){  char temp = 0;  if(start==end){  String s = new String(c);  if((s.charAt(0)-'0')!=0){  calc(s);    // 计算结果   }  }else{  for(int i=start;i<=end;i++){  temp = c[start];  c[start] = c[i];  c[i] = temp;  allSort(c,start+1,end);  temp = c[start];  c[start] = c[i];  c[i] = temp;  }  }  }  public static void f(int[] b){  for(;;){  if(check(b)) break; // 检查是否是全111111...   modify(b);  // 进位,进行下一个数字的测试   if(!checkFive(b)) continue; // 检查是否是一个五位数字   String s =  values(b);      // 得到一个五位数字   char[] c = s.toCharArray();  allSort(c,0,c.length-1);    // 全排列其中一个五位数,并计算结果   }  }  public static void main(String[] args){  int[] b = new int[10];  f(b);  }  
}运行结果:
21978*4=87912
public class Demo02 {  // 检查是否是全111111...   public static boolean check(int[] b){  boolean flag = true;  for(int i=0;i<b.length;i++){  if(b[i]==0){  flag = false;  break;  }  }  return flag;  }  // 检查是否是一个五位数   public static boolean checkFive(int[] b){  boolean flag = false;  int count = 0;  for(int i=0;i<b.length;i++){  if(b[i]==1){  count++;  }  }  if(count==5) flag = true;  return flag;  }  // 得到一个五位数字   public static String values(int[] b){  StringBuffer sb = new StringBuffer();  for(int i=0;i<b.length;i++){  if(b[i]!=0){  sb.append(i);  }  }  return sb.toString();  }  // 反转 n   public static int reverse(int n){  StringBuffer sb = new StringBuffer();  sb.append(n);  sb.reverse();  return Integer.parseInt(sb.toString());  }  // 进位得到下一个数字   public static void modify(int[] b){  b[b.length-1]++;  for(int i=b.length-1;i>0;i--){  if(b[i]>1){  b[i] = 0;  b[i-1]++;  }  }  }  public static void calc(String s){  int n = Integer.parseInt(s);    // 得到一个五位数字   int r = reverse(n); // 反转 n   if(r%n==0)  // 得到结果 n * ? = r   System.out.println(n+"*"+(r/n)+"="+r);  }  public static void allSort(char[] c,int start,int end){  char temp = 0;  if(start==end){  String s = new String(c);  if((s.charAt(0)-'0')!=0){  calc(s);    // 计算结果   }  }else{  for(int i=start;i<=end;i++){  temp = c[start];  c[start] = c[i];  c[i] = temp;  allSort(c,start+1,end);  temp = c[start];  c[start] = c[i];  c[i] = temp;  }  }  }  public static void f(int[] b){  for(;;){  if(check(b)) break; // 检查是否是全111111...   modify(b);  // 进位,进行下一个数字的测试   if(!checkFive(b)) continue; // 检查是否是一个五位数字   String s =  values(b);      // 得到一个五位数字   char[] c = s.toCharArray();  allSort(c,0,c.length-1);    // 全排列其中一个五位数,并计算结果   }  }  public static void main(String[] args){  int[] b = new int[10];  f(b);  }  
}运行结果:
21978*4=87912

😜微生物增殖

假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!

package Question20_29;
importjava.util.Scanner;
publicclass Question22MustRemember {publicstaticvoid calculate(int primaryNumX,int primaryNumY,int timesOfMinute) {int numX=primaryNumX,numY=primaryNumY;for (int i = 2; i <=timesOfMinute*2; i++) {if(numY<=0){numY=0;break;}if(i%2==0){numY-=primaryNumX;// 当为整数分钟时,最初数目的生物X将进食同等数目的生物Y}elseif(i%2==1){numY-=(numX-primaryNumX); //当为半数分钟的奇数倍时,由最初的生物X增值产生的生物X将进食同等数目的生物Y}if(i%6==0){numX*=2;   //三分钟的整数倍,生物X增值一倍}if(i%4==0){numY*=2; //两分钟的整数倍,生物Y增值一倍}}System.out.println(numY);}publicstaticvoid main(String[] args) {calculate(10, 89, 60);calculate(10, 90, 60);
//		Scanner scanner=new Scanner(System.in);
//		int numX=scanner.nextInt(),numY=scanner.nextInt();
//		System.out.println(numX+"  "+numY);}
}
运行结果:
-979369984
94371840
94371840
public class Demo01 {  public static void microAdd(long x,long y,int m){  for(int i=1;i<=m;i++){  y -= x;     // 吃掉x个y   if(i%3==0) x *= 2;  // 每隔3分钟x分裂一次   if(i%2==0) y *= 2;  // 每隔2分钟y分裂一次   }  System.out.println(y);  }  public static void main(String[] args){  microAdd(10,89,60);  microAdd(10,90,60);  }  
}  运行结果:
-979369984  
94371840
结果如果是负数应置为0!!

😜密码发生器

在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,
容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了…
这个程序的任务就是把一串拼音字母转换为6位数字(密码)。
我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。
变换的过程如下:
第一步. 把字符串6个一组折叠起来,比如wangximing则变为:
wangxi
ming
第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子,则得出:
228 202 220 206 120 105
第三步. 再把每个数字“缩位”处理:就是把每个位的数字相加,得出的数字如果不是一位数字,
就再缩位,直到变成一位数字为止。例如: 228 => 2+2+8=12 => 1+2=3
上面的数字缩位后变为:344836, 这就是程序最终的输出结果!
要求程序从标准输入接收数据,在标准输出上输出结果。
输入格式为:第一行是一个整数n(<100),表示下边有多少输入行,接下来是n行字符串,就是等待变换的字符串。
输出格式为:n行变换后的6位密码。
例如,输入:
5
zhangfeng
wangximing
jiujingfazi
woaibeijingtiananmen
haohaoxuexi
则输出:
772243
344836
297332
716652
875843

package Question10_19;
import java.util.Scanner;
publicclass Question19 {publicstaticint simplify(int n) {String s;while (n>=10) {s=n+"";n=0;for (int i = 0; i < s.length(); i++) {n+=s.charAt(i)-'0';}}return n;}publicstaticvoid main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();String s;scanner.nextLine();while((n--)>0){int array[]=newint[6];s=scanner.nextLine();for (int i = 0; i < s.length(); i++) {array[i%6]+=(int)(s.charAt(i));}for (int i = 0; i < 6; i++) {System.out.print(simplify(array[i]));}System.out.println();}//		System.out.println(simplify(123456789));}
}
运行结果:
输入整数n(<100)表示下边有多少输入行:
5
zhangfeng
wangximing
jiujingfazi
woaibeijingtiananmen
haohaoxuexi
772243
344836
297332
716652
875843

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

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

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

相关文章

C++报错:error C2238: 意外的标记位于“;”之前

报错信息如下&#xff1a; 编译遇见这样的错误信息主要有一下几种&#xff1a; 情况一&#xff1a; 多数情况下出现这种问题的原因是因为头文件重复包含&#xff1a;即头文件A包含了B&#xff0c;头文件B又包含了A&#xff0c;导致编译器在加载头文件时陷入死循环。 解决办法…

力扣题:数字与字符串间转换-12.16

力扣题-12.16 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;640. 求解方程 解题思想&#xff1a;首先将方程按照“”进行划分&#xff0c;然后分别记录x的因数和常数项&#xff0c;最后进行返回的判断即可 class Solution(object):def solveEqu…

万户 OA OfficeServer.jsp 任意文件上传漏洞复现

0x01 产品简介 万户OA是面向政府组织及企事业单位的FlexOffice自主安全协同办公平台。 0x02 漏洞概述 万户OA OfficeServer.jsp接口存在任意文件上传漏洞,攻击者可通过该漏洞上传任意文件从而控制整个服务器。 0x03 复现环境 FOFA: (banner="OASESSIONID" &a…

算法基础概念之数据结构

邻接表 每个点作为头节点接一条链表 链表中元素均为该头节点指向的点 优先队列 参数: ①储存元素类型 ②底层使用的存储结构(一般为vector) ③比较方式(默认小于)

ffmpeg可以做什么

用途 FFmpeg是一个功能强大的多媒体处理工具&#xff0c;可以处理音频和视频文件。它是一个开源项目&#xff0c;可在各种操作系统上运行&#xff0c;包括Linux、Windows和Mac OS X等。以下是FFmpeg可以做的一些主要任务&#xff1a; 转换媒体格式&#xff1a;可将一个媒体格式…

0基础学习VR全景平台篇第128篇:720VR全景拍摄设备推荐

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 本篇教程&#xff0c;小编为大家推荐720VR全景拍摄所需要的设备器材。上节我们提到&#xff0c;理论上任意相机和镜头都能够拍摄全景&#xff0c;但为了标准化制作流程&#xff0…

CSS新手入门笔记整理:CSS常用属性表

字体样式 属性 属性值 说明 font-family 微软雅黑/苹方 字体类型 font-size 数值 字体大小 font-weight 数值/关键字 字体粗细&#xff08;字重&#xff09; font-style normal&#xff08;正常(默认值)&#xff09;italic&#xff08;斜体&#xff09;oblique&am…

云原生向量计算引擎 PieCloudVector:为大模型提供独特记忆

拓数派大模型数据计算系统&#xff08;PieDataComputingSystem&#xff0c;缩写&#xff1a;πDataCS&#xff09;在10月24日程序员节「大模型数据计算系统」2023拓数派年度技术论坛正式发布。πDataCS 以云原生技术重构数据存储和计算&#xff0c;「一份存储&#xff0c;多引擎…

我的NPI项目之Android 安全系列 -- 先认识一下ST33Jxxx

目前接触过的高通平台都没有集成单独的SE&#xff0c;安全运行环境都是高通自家的TEE&#xff0c;又言Trustzone。高通Keystore功能也是依赖TEE来实现的。那么&#xff0c;如果另外集成SE&#xff0c;那么高通的Keystore如何集成&#xff1f;TEE部分要如何配置&#xff1f; 最近…

Ubuntu Shutdown while other user logged on

1. sudo vim /etc/systemd/logind.conf 修改代码KillUserProcessesyes 2. sudo touch /etc/polkit-1/localauthority/50-local.d/multi-user-inhibit-shutdown-restart.pkla 3. 打开修改配置文件 sudo vim /etc/polkit-1/localauthority/50-local.d/multi-user-inhibit-shut…

TrustZone之总线请求

接下来&#xff0c;我们将查看系统中的总线请求者&#xff0c;如下图所示&#xff1a; 系统中的A型处理器具有TrustZone感知&#xff0c;并在每个总线访问中发送正确的安全状态。然而&#xff0c;大多数现代SoC还包含非处理器总线请求者&#xff0c;例如GPU和DMA控制器。 与完成…

MC-30A (32.768 kHz用于汽车应用的晶体单元)

MC-30A 32.768 kHz用于汽车应用的晶体&#xff0c;车规晶振中的热销型号之一。该款石英晶体谐振器&#xff0c;可以在-40 to 85 C的温度内稳定工作&#xff0c;能满足起动振动的要求。同时满足AEC-Q200无源元件质量标准认证&#xff0c;满足汽车仪表系统的所有要求。 频率范围…

蓝桥杯专题-真题版含答案-【基因牛的繁殖】【黄金分割数】【振兴中华】【圆周率与级数】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

Apache Flume(4):日志文件监控

1 案例说明 企业中应用程序部署后会将日志写入到文件中&#xff0c;可以使用Flume从各个日志文件将日志收集到日志中心以便于查找和分析。 2 使用Exec Soucre Exec Source Exec Source通过指定命令监控文件的变化&#xff0c;加粗属性为必须设置的。 属性名默认值说明chan…

ida脚本环境开发配置idapythonidacpp三端环境(win,mac,linux)

ida脚本也有一段时间了,一直有个痛点是找不到比较好的方法热重载脚本来实时改动生效,导致开发效率老慢了。固总结下比较友好的环境搭配 使用ida热加载插件让你开发脚本更高效 github地址: GitHub - 0xeb/ida-qscripts: An IDA plugin to increase productivity when developi…

【Spark精讲】Spark与MapReduce对比

目录 对比总结 MapReduce流程 ​编辑 MapTask流程 ReduceTask流程 MapReduce原理 阶段划分 Map shuffle Partition Collector Sort Spill Merge Reduce shuffle Copy Merge Sort 对比总结 Map端读取文件&#xff1a;都是需要通过split概念来进行逻辑切片&…

CVE-2023-50164 Apache Struts2漏洞复现

CVE-2023-50164 简介&#xff1a; 从本质上讲&#xff0c;该漏洞允许攻击者利用 Apache Struts 文件上传系统中的缺陷。它允许他们操纵文件上传参数并执行路径遍历。这种利用可能会导致在服务器上执行任意代码&#xff0c;从而导致各种后果&#xff0c;例如未经授权的数据访问…

DS冲刺整理做题定理(四)查找与排序

最后一期更新&#xff0c;考试之前应该不会再出该专题了&#xff0c;之后有时间会出一些有关链表的代码题&#xff0c;其他章节只挑选重点的总结~ 一.查找 1.顺序查找 又被称为线性查找&#xff0c;对顺序表和链表都使用~基本思想是从某一端开始&#xff0c;逐个检查关键字是否…

GZ015 机器人系统集成应用技术样题1-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书&#xff08;学生赛&#xff09; 样题1 选手须知&#xff1a; 本任务书共 25页&#xff0c;如出现任务书缺页、字迹不清等问题&#xff0c;请及时向裁判示意&#xff0c;并进行任务书的更换。参赛队…

idea__SpringBoot微服务12——整合Mybatis框架(新依赖)(新注解)

整合Mybatis框架 完整项目地址&#xff1a;一、创建一个新的项目&#xff0c;导入mybatis依赖&#xff0c;lombok依赖。二、idea内置数据库管理工具连接数据库。三、编写实体类。四、编写Mapper接口。&#xff08;新注解&#xff09;五、编写Mapper.XML。六、编写数据库连接文件…