蓝桥杯专题-真题版含答案-【扑克牌排列】【取球博弈】【古堡算式】【泊松分酒】

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

👉关于作者

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

CSDN-芝麻粒儿

👉实践过程

😜扑克牌排列

下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。
操作过程是:
手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,…
如此循环操作,直到剩下最后一张牌也放在桌子上。
下面代码的目的就是为了求出最后桌上的牌的顺序。
初始的排列如果是A,2,3…K,则最后桌上的顺序为:
[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]
请分析代码逻辑,并推测划线处的代码。

package Question1_9;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
public class Question7 {
	public static List moveCard(List src) {
		if (src == null)
			return null;
		List dst = new Vector();
		for (;;) {
			if (src.size()==0)
				       break;      // 填空
			src.add(src.remove(0));
			dst.add(src.remove(0));                // 填空
		}
		return dst;
	}
public static void main(String[] args) {
		List a = new Vector();
		a.addAll(Arrays.asList("A", "2", "3", "4", "5", "6", "7", "8", "9",
				"10", "J", "Q", "K"));
		
		System.out.println(moveCard(a));
	}
}
运行结果:
[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]

😜取球博弈

今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,
也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。
我们约定:
每个人从盒子中取出的球的数目必须是:1,3,7或者8个。
轮到某一方取球时不能弃权!
A先取球,然后双方交替取球,直到取完。
被迫拿到最后一个球的一方为负方(输方)
请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?
程序运行时,从标准输入获得数据,其格式如下:
先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。
程序则输出n行,表示A的输赢情况(输为0,赢为1)。
例如,用户输入:
4
1
2
10
18
则程序应该输出:
0
1
1
0

package Question10_19;
import java.util.Scanner;
publicclass Question18Think2MustRemember {
	publicstaticbooleanarray[]=newboolean[10020];
	publicstaticvoid main(String[] args) {
		array[0]=true;
		for (int i = 1; i <array.length; i++) {
			array[i]=(i>=8&&!array[i-8])||(i>=7&&!array[i-7])||(i>=3&&!array[i-3])||(i>=1&&!array[i-1]);
		}
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		int total;
		scanner.nextLine();
		while ((n--)>0) {
			total=scanner.nextInt();
			System.out.println(array[total]?1:0);
		}
	}
}
运行结果:
4
1
2
10
18
输出结果:
0
1
1
0

😜古堡算式

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

Public  class TDemo02_two {
	Public static void 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

😜泊松分酒

泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。
有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。
有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。
在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。
有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。
要求你只用3个容器操作,最后使得某个容器中正好有6升油。
下面的列表是可能的操作状态记录:
12,0,0
4,8,0
4,3,5
9,3,0
9,0,3
1,8,3
1,6,5
每行3个数据,分别表示12,8,6升容器中的油量
第一行表示初始状态,第二行表示把12升倒入8升容器后的状态,第三行是8升倒入5升,…
当然,同一个题目可能有多种不同的正确操作步骤。
本题目的要求是,请你编写程序,由用户输入:各个容器的容量,开始的状态,
和要求的目标油量,程序则通过计算输出一种实现的步骤(不需要找到所有可能的方法)。
如果没有可能实现,则输出:“不可能”。
例如,用户输入:
12,8,5,12,0,0,6
用户输入的前三个数是容器容量(由大到小),接下来三个数是三个容器开始时的油量配置,
最后一个数是要求得到的油量(放在哪个容器里得到都可以)
则程序可以输出(答案不唯一,只验证操作可行性):
12,0,0
4,8,0
4,3,5
9,3,0
9,0,3
1,8,3
1,6,5
每一行表示一个操作过程中的油量状态。
注意:
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。

package Question30_39;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.Vector;
public class Question36TooDifficultMustRemember {
	public static List<Integer> distribute(List<Integer> capacityList,List<Integer> oilSizeList,int where,int to) {
		List<Integer>tList =new ArrayList<Integer>();
		tList.addAll(oilSizeList);
		if(oilSizeList.get(where)==0){
			return null;
		}else if (oilSizeList.get(where)>=capacityList.get(to)-oilSizeList.get(to)) {
			tList.set(to, capacityList.get(to));
			tList.set(where, oilSizeList.get(where)-(capacityList.get(to)-oilSizeList.get(to)));
			return tList;
		}else if(oilSizeList.get(where)<=capacityList.get(to)-oilSizeList.get(to)){
			tList.set(to, oilSizeList.get(to)+oilSizeList.get(where));
			tList.set(where, 0);
			return tList;
		}
		return null;
	}
	public static boolean exeForward(Set<List<Integer>>set,List<Integer> capacityList,List<Integer> oilSizeList,int NeedOilSize) {
		
//		for (List<Integer> list : set) {
//			System.out.print(list+"  ");
//		}
//		System.out.println();
		
		
		for (Integer integer : oilSizeList) {
			if(integer==NeedOilSize){
				for (List<Integer> list : set) {
				//	System.out.print(list+" ");
				//	System.out.print(list.size()+" ");
					for (Iterator iterator = list.iterator(); iterator
							.hasNext();) {
						Integer integer2 = (Integer) iterator.next();
						System.out.print(integer2);
						if(iterator.hasNext()){
							System.out.print(",");
						}else {
							System.out.print("\n");
						}
						
					}
				}
				
				return true;
			}
		}
		Vector<List<Integer>>vector=new Vector<List<Integer>>();
		vector.add(distribute(capacityList, oilSizeList, 0, 1));
		vector.add(distribute(capacityList, oilSizeList, 0, 2));
		vector.add(distribute(capacityList, oilSizeList, 1, 0));
		vector.add(distribute(capacityList, oilSizeList, 1, 2));
		vector.add(distribute(capacityList, oilSizeList, 2, 0));
		vector.add(distribute(capacityList, oilSizeList, 2, 1));
		for (int i = 0; i < vector.size(); i++) {
			if(vector.get(i)!=null){
				
				if(set.add(vector.get(i))){
					
					if(exeForward(set, capacityList, vector.get(i), NeedOilSize)==true){
						return true;
					}
					set.remove(vector.get(i));
				}
			}
		}
		return false;
	}
	public static void main(String[] args){
		Scanner scanner=new Scanner(System.in);
		Set<List<Integer>>set=new LinkedHashSet<List<Integer>>();
		List<Integer>tList=new ArrayList<Integer>();
		for (int i = 0; i < 3; i++) {
			tList.add(0);
		}
		List<Integer> capacityList=new ArrayList<>(tList);
		List<Integer> oilSizeList=new ArrayList<>(tList);
		int NeedOilSize;
		
		String ts=scanner.nextLine();
		
		String tss[]=ts.split("\\,");
		for (int i = 0; i < capacityList.size(); i++) {
			capacityList.set(i, Integer.parseInt(tss[i]));
		}
		int totalOil=0;
		for (int i = 0; i < capacityList.size(); i++) {
			oilSizeList.set(i, Integer.parseInt(tss[i+3]));
			totalOil+=Integer.parseInt(tss[i+3]);
		}
		NeedOilSize=Integer.parseInt(tss[6]);
		
		if(NeedOilSize>totalOil){
			System.out.println("不可能");
			return;
		}
		boolean posible=false;
		for (int i = 0; i < capacityList.size(); i++) {
			if(capacityList.get(i)>NeedOilSize){
				posible=true;
				break;
			}
		}
		if(posible==false){
			System.out.println("不可能");
			return;
		}
		exeForward(set, capacityList, oilSizeList, NeedOilSize);
	}
}
运行结果:
输入数据(格式为7个数字用","号隔开,例:)12,8,5,12,0,0,6
12,8,5,12,0,0,6
12	0	0	
4	8	0	
4	3	5	
9	3	0	
9	0	3	
1	8	3	
1	6	5	
记录数:(7)

👉其他

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

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

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

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

相关文章

南京航空航天大学-高等计算机网络复习

计算机网络复习 计算机网络 通信网络 网络提供信息传递服务&#xff08;端用户角度&#xff09; 通信介质&#xff1a;电子和光子&#xff0c;传输介质&#xff1a;fiber……&#xff0c;交换方式&#xff0c;协议&#xff0c;算法&#xff0c;功能&#xff0c;应用 通信网…

【DOM笔记四】事件高级!(注册/删除事件、DOM事件流、事件对象、事件委托、鼠标 / 键盘事件、相关案例)

文章目录 7 事件高级7.1 注册事件概述7.2 删除事件7.3 DOM事件流7.4 事件对象7.5 事件委托7.6 鼠标事件7.6.1 常用的鼠标事件7.6.2 鼠标事件对象 7.7 键盘事件7.7.1 常用的键盘事件7.7.2 键盘事件对象 7 事件高级 7.1 注册事件概述 给元素添加事件&#xff0c;称为注册事件或…

码住不亏!10家程序员接单平台横向对比

很多程序员都在空闲时间想要尝试接单&#xff0c;其实程序员接单在程序员圈子里非常常见&#xff0c;但想要找到一个合适的程序员接单平台却很难&#xff0c;今天给兄弟们整理了18个程序员接单平台的横向对比&#xff0c;希望可以给还在观望的小伙伴一点参考。 程序员客栈 规…

真一键关闭BitLocker!

网管小贾 / sysadm.cc 同事老莫近日喜提新电脑一台&#xff0c;遂请我周末去他家帮忙给电脑开开光。 我口送佛号欣然应允&#xff0c;心中暗道又能喝到嫂夫人的私人定制绝美养生鸡汤&#xff0c;嘿嘿&#xff0c;阿弥陀佛&#xff0c;善哉善哉&#xff01; 老莫家就租住在市中…

Python---TCP服务端程序开发

1. 开发 TCP 服务端程序开发步骤回顾 创建服务端端套接字对象绑定端口号设置监听等待接受客户端的连接请求接收数据发送数据关闭套接字 2. socket 类的介绍 导入 socket 模块import socket 创建服务端 socket 对象socket.socket(AddressFamily, Type) 参数说明: AddressF…

从0到1打造一款WebStyle串口调试工具

Tip:No Ego Some programmers have a huge problem: their own ego. But there is no time for developing an ego. There is no time for being a rockstar. Who is it who decides about your quality as programmer? You? No. The others? Probably. But can you really…

拥抱鸿蒙 - 在展讯T606平台上的探索与实践

前 言 自OpenHarmony 问世后受到了社会各界的广泛关注&#xff0c;OpenHarmony 的生态系统在如火如荼的发展。 酷派作为一家积极拥抱变化的公司&#xff0c;经过一段时间的探索与实践&#xff0c;成功实现将OpenHarmony 系统接入到展讯平台上&#xff0c;我们相信这是一个重要…

Infant-freesurfer安装和使用,适用于0-2岁婴幼儿大脑自动分割

Infant-freesurfer安装和使用 #Note https://surfer.nmr.mgh.harvard.edu/fswiki/infantFS --官网申请下载infant_recon_all --s SUBJ --age age_in_months--newborn flag (it aut

AVP摄像头与ECU交互需求规范

目录 1 文档范围及控制方法... 5 1.1 目的.... 5 1.2 文档授权... 5 1.3 文档变更管理... 5 1.4 缩写.... 5 1.5 术语.... 5 2 系统组成... 6 2.1 系统框图... 6 2.2 电源供应和时序要求... 7 2.2.1 摄像头供电控制... 7 2.2.2 摄像头上电时序要求…

Linux Centos7 安装NVIDIA 驱动

cat /etc/redhat-release 查看系统版本 服务器IP 系统版本 内核 GPU 内存和硬盘 后期扩容 10.0.2.125 CentOS Linux release 7.9.2009 5.3.10-1.el7.elrepo.x86_64 4 张 Tesla T4&#xff08;16G&#xff09; 376G 1.5T 物理机 10.0.2.130 CentOS Linux release …

消息中间件的介绍

消息中间件&#xff08;message oriented middleware&#xff09;是指支持与保障分布式应用程序之间同步/异步收发消息的中间件。消息是分布式应用之间进行数据交换的基本信息单位&#xff0c;分布式应用程序 之间的通信接口由消息中间件提供。其中&#xff0c;异步方式指消息发…

T2I-Adapter: 让马良之神笔(扩散模型)从文本生成图像更加可控

文章信息 单位&#xff1a;北大深张健团队&#xff0c;腾讯ARC lab 源码: https://github.com/TencentARC/T2I-Adapter 图1. 插个DXL的渲染图&#xff0c;这么真实的光感&#xff0c;感觉PS都可以被取代了 目录 文章信息前言一、介绍二、相关工作1.图像合成与转换2 扩散模型3 适…

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现…

【计算机图形学】Ditto: Building Digital Twins of Articulated Objects from Interaction

项目主页&#xff1a;Ditto: Building Digital Twins of Articulated Objects from Interaction 文章目录 1. 为什么要做这件事2. 做了件什么事3. 之前的工作&#xff08;Related work&#xff09;铰接模型估计铰接物体的3D重建隐式神经表达物理仿真中的铰接物体 4. 问题定义5…

腾讯云服务器上传文件 :Permission denied (os error 13) ,由于权限无法上传

根据网上的修改云服务器上传文件目录的权限&#xff0c;或是用root权限上传本地文件&#xff0c;均失败。 正解办法&#xff1a; ubuntu:/home/wwwroot# sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully首先修…

Windows常用的功能命令

Win操作方法 快捷键winR&#xff0c;输入cmd回车&#xff0c;然后就可以输入cmd命令了&#xff0c;赶紧收藏起来&#xff0c;用的时候更方便 打开程序和功能 快捷键winR&#xff0c;输入appwiz.cpl回车 启动计算器 快捷键winR&#xff0c;输入calc回车 计算机管理 …

saas供应链批发订货系统源码整套输出的3大好处

随着电子商务的快速发展&#xff0c;越来越多的企业开始关注和采用供应链批发订货系统&#xff0c;以提高其供应链管理的管理效率和数据沉淀。现在大多企业还是使用SaaS供应链系统&#xff0c;而源码整套输出的3大好处、尤其是第三个可让企业受益匪浅。 1. 定制化能力&#xff…

Leetcode 55 跳跃游戏

题意理解&#xff1a; 非负整数数组 nums, 最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 需要跳到nums最后一个元素即为成功。 目标&#xff1a;是否能够跳到最后一个元素。 解题思路&#xff1a; 使用贪心算法来解题&#xff0c;需要理解…

Unity中Shader平移矩阵

文章目录 前言方式一&#xff1a;对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中&#xff0c;在进行其他坐标转化之前&#xff0c;对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

NIO的实战教程(简单且高效)

1. 参考 建议按顺序阅读以下三篇文章 为什么NIO被称为同步非阻塞&#xff1f; Java IO 与 NIO&#xff1a;高效的输入输出操作探究 【Java.NIO】Selector&#xff0c;及SelectionKey 2. 实战 我们将模拟一个简单的HTTP服务器&#xff0c;它将响应客户端请求并返回一个固定的…