蓝桥杯练习题-穷举模拟

📑前言

本文主要是【穷举模拟】——蓝桥杯练习题-穷举模拟的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.找出凶手
    • 2.分发糖果
    • 📑文章末尾

1.找出凶手

  • 题目描述:已知A、B、C、D中有一个凶手,对他们审讯,已知三个人说真话,一个人说假话。谁是凶手

  • A说不是我

  • B说是C

  • C说是D

  • D说C在胡说

请你找出凶手

package 穷举模拟;public class Killer {public static void main(String[] args) {// TODO Auto-generated method stubint count = 0;//统计有几个人说的是真话for(int killer='A';killer<='D';killer++) {count = 0;if(killer!='A') count++;if(killer=='C') count++;if(killer=='D') count++;if(killer!='D') count++;if (count==3) {System.out.println((char)killer);}}}}

2.分发糖果

  • 题目描述:

    • 每个小孩若干个糖果,且不相等
    • 每个小孩将自己糖果一半给右边小孩,最后一个小孩分给第一个小孩
    • 每次结束如果有人是奇数个糖果,补给一个
    • 所有小孩都相等,游戏结束

    求需要多少次分配,才能使游戏结束

package 穷举模拟;import java.util.Arrays;public class test1 {
/*
分发糖果
每个小孩若干个,不相等
每个小孩将自己糖果一半给右边小孩
如果有人奇数,补给一个
所有小孩都相等,游戏结束*/public static void main(String[] args) {// TODO Auto-generated method stubint a[] = {10,2,8,22,16,4,10,6,14,20};int count=0;while(isGameOver(a)==false) {count++;fenpei(a);//先分配System.out.println(Arrays.toString(a));supply(a);//后补给}System.out.println(count+1);}public static void fenpei(int a[]) {int n = a.length;int half = a[n-1]/2;a[n-1]/=2;for(int i=n-1;i>=1;i--) {a[i]=a[i]+a[i-1]/2;//右边的等于左边的给自己一半a[i-1]=a[i-1]/2;//左边的人只剩下一半}a[0]=a[0]+half;}public static void supply(int a[]) {for(int i=0;i<a.length;i++) {if(a[i]%2==1) {a[i]++;//奇数补给一个}}}public static boolean isGameOver(int a[]) {for(int i=1;i<a.length;i++) {if(a[i]!=a[0]) {return false;}}return true;}}

写法二:

		int a[] = {10,2,8,22,16,4,10,6,14,20};int n = a.length;int count = 0;while(true) {boolean flag = true;int half = a[n-1]/2;a[n-1]/=2;for(int i=n-1;i>=1;i--) {a[i]+=a[i-1]/2;a[i-1]/=2;}a[0]+=half;System.out.println(Arrays.toString(a));for(int i=0;i<n;i++) {if(a[i]%2==1)	a[i]++;}for(int i=1;i<n;i++) {if(a[i]!=a[0]) flag=false;}count=count+1;if (flag) {System.out.println("count:"+count+1);break;}}

📑文章末尾

在这里插入图片描述

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

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

相关文章

Spring DI

目录 什么是依赖注入 属性注入 构造函数注入 Setter 注入 依赖注入的优势 什么是依赖注入 依赖注入是一种设计模式&#xff0c;它通过外部实体&#xff08;通常是容器&#xff09;来注入一个对象的依赖关系&#xff0c;而不是在对象内部创建这些依赖关系。这种方式使得对象…

基于C++11的数据库连接池【C++/数据库/多线程/MySQL】

一、概述 概述&#xff1a;数据库连接池可提前把多个数据库连接建立起来&#xff0c;然后把它放到一个池子里边&#xff0c;就是放到一个容器里边进行维护。这样的话就能够避免数据库连接的频繁的创建和销毁&#xff0c;从而提高程序的效率。线程池其实也是同样的思路&#xf…

OCR识别网络CRNN理解与Pytorch实现

CRNN是2015年的论文“An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition”提出的图像字符识别网络&#xff0c;也是目前工业界使用较为广泛的一个OCR网络。论文地址&#xff1a;https://arxiv.org/…

OpenHarmony AI框架开发指导

一、概述 1、 功能简介 AI业务子系统是OpenHarmony提供原生的分布式AI能力的子系统。AI业务子系统提供了统一的AI引擎框架&#xff0c;实现算法能力快速插件化集成。 AI引擎框架主要包含插件管理、模块管理和通信管理模块&#xff0c;完成对AI算法能力的生命周期管理和按需部…

检索增强(RAG)的方式---重排序re-ranking

提升RAG&#xff1a;选择最佳嵌入Embedding&重排序Reranker模型 检索增强生成(RAG)技术创新进展&#xff1a;自我检索、重排序、前瞻检索、系统2注意力、多模态RAG RAG的re-ranking指的是对初步检索出来的候选段落或者文章&#xff0c;通过重新排序的方式来提升检索质量。…

红包封面免费送1000个,你设计,我出额度

相信最近大家或多或少都知道了吧&#xff0c;腾讯又又又给大家&#xff0c;准确的说是给一年勤奋的公众号/视频号博主一个福利 根据不同博主的粉丝、更新频度以及作品质量&#xff0c;给力博主们免费制作红包封面的福利 比如我这个号&#xff0c;有6000额度 那这6000个&#…

从规则到神经网络:机器翻译技术的演化之路

文章目录 从规则到神经网络&#xff1a;机器翻译技术的演化之路一、概述1. 机器翻译的历史与发展2. 神经机器翻译的兴起3. 技术对现代社会的影响 二、机器翻译的核心技术1. 规则基础的机器翻译&#xff08;Rule-Based Machine Translation, RBMT&#xff09;2. 统计机器翻译&am…

【STM32】STM32学习笔记-I2C通信协议(31)

00. 目录 文章目录 00. 目录01. I2C简介02. I2C主要特点03. I2C硬件电路04. I2C时序基本单元05. I2C时序波形图06. 附录 01. I2C简介 I2C(Inter&#xff0d;Integrated Circuit)总线是一种由NXP&#xff08;原PHILIPS&#xff09;公司开发的两线式串行总线&#xff0c;用于连接…

【高等数学之定积分】

一、什么是定积分? 我们第一次新手司机开车从某一地方到(一数)家&#xff0c;自始至终保持着匀速行驶&#xff0c;那么这个过程所经历的路程是什么呢?用速度-时间函数图像来表示一下&#xff0c;我们发现其实就是其曲线下的面积。 第二次开车我们已经有了一定的经验&#xff…

vivado 定义板文件板

定义板文件板 &#xff1c;board&#xff1e;标记是板文件的根。它包括识别基本信息的属性关于董事会。 <board schema_version"2.1" vendor"xilinx.com" name"kc705" display_name"Kintex-7 KC705 Evaluation Platform" url&qu…

数据结构小项目----通讯录的实现(这里用链表实现) 超详细~~~~૮(˶ᵔ ᵕ ᵔ˶)ა

目录 Contact.h说明&#xff1a; 结构体与头文件的包含&#xff1a; ​编辑 函数在头文件的声明与定义&#xff1a; Contact.c中各个函数的实现&#xff1a; 1.检查链表中的数据是否满了&#xff0c;满了就扩容 2.链表的尾插 3.链表的删除 4.查找名字是否匹配 5.初始化通讯…

代码随想录二刷 |二叉树 | 将有序数组转换为二叉搜索树

代码随想录二刷 |二叉树 | 将有序数组转换为二叉搜索树 题目描述解题思路代码实现 题目描述 109.将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组&#xff0c;转换为一棵高度平衡二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右…