蓝桥杯练习题-穷举模拟

这篇具有很好参考价值的文章主要介绍了蓝桥杯练习题-穷举模拟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📑前言

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

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

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 stub
		int 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 stub
		int 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;
			}
		}

📑文章末尾

蓝桥杯练习题-穷举模拟,蓝桥杯,java,穷举模拟文章来源地址https://www.toymoban.com/news/detail-798694.html

到了这里,关于蓝桥杯练习题-穷举模拟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯练习题(二)

    本文主要是【算法】——蓝桥杯练习题(二)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见

    2024年01月24日
    浏览(49)
  • 蓝桥杯练习题(十二)

    本文主要是【算法】——蓝桥杯练习题(十二)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见

    2024年01月21日
    浏览(44)
  • 蓝桥杯练习题(六)

    本文主要是【算法】——蓝桥杯练习题(六)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见

    2024年01月18日
    浏览(41)
  • 蓝桥杯练习题(三)

    本文主要是【算法】——蓝桥杯练习题(三)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见

    2024年01月15日
    浏览(44)
  • 蓝桥杯练习题(3的倍数)

    问题描述 小蓝对 3 的倍数很感兴趣。现在他手头有三个不同的数 a,b,c, 他想知道, 这三个数中是不是有两个数的和是 3 的倍数。 例如, 当 a=3,b=4,c=6 时, 可以找到 a 和 c 的和是 3 的倍数。 例如, 当 a=3,b=4,c=7 时, 没办法找到两个数的和是 3 的倍数。 输入格式 输入三行, 每行一

    2024年02月09日
    浏览(37)
  • 蓝桥杯官网练习题(旋转)

    题目描述 图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转 90 度。 我们用一个 n×m 的二维数组来表示一个图片,例如下面给出一个 3×4 的 图片的例子: 1 3 5 7 9 8 7 6 3 5 9 7 这个图片顺时针旋转 90 度后的图片如下: 3 9 1 5 8 3 9 7 5 7 6 7 给定初始图

    2024年02月09日
    浏览(41)
  • 蓝桥杯官网练习题(翻硬币)

    题目描述 小明正在玩一个\\\"翻硬币\\\"的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo; 如果同时翻转左边的两个硬币,则变为:oooo***oooo。 现在小明的问题是:如果已知了初始状态和要达到的目

    2024年02月09日
    浏览(46)
  • 蓝桥杯官网练习题(正则问题)

    题目描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是 6。 输入描述 一个由 x()| 组成的正则表达式。输入长度不超过 100,保证合法。 输出

    2024年02月05日
    浏览(54)
  • 蓝桥杯官网练习题(兰顿蚂蚁)

    题目描述 兰顿蚂蚁,是于 1986 年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只\\\"蚂蚁\\\"。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转 90 度,将该格改为白

    2024年02月09日
    浏览(56)
  • 蓝桥杯官网练习题(幸运数字)

    问题描述 哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整除的正整数。例如 126 是十进制下的一个哈沙德数,因为 (126)10​mod(1+2+6)=0;126 也是八进制下的哈沙德数,因为 (126)10=(176)8,(126)10mod(1+7+6)=0;同时 126 也是 1616 进制下的哈沙德数,因为 (126)10=(7e)1

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包