java基础穷举冠军(学习笔记)

java基础穷举冠军(学习笔记),第1张

java基础穷举冠军(学习笔记)

谁获冠军?

【问题】甲乙丙丁戊五个人在运动会上分获百米、二百米、跳高、跳远和铅球冠军,有
四个人猜测比赛结果:
A说:乙获铅球冠军,丁获跳高冠军。
B说:甲获百米冠军,戊获跳远冠军。
C说:丙获跳远冠军,丁获二百米冠军。
D说:乙获跳高冠军,戊获铅球冠军。
其中每个人都只说对一句,说错一句。求五人各获哪项冠军。
【算法】用1,2,3,4,5分别代表百米、二百米、跳高、跳远和铅球5个项目,用a,b,c,d,e
分别代表五人。如b=3 表示乙获跳高冠军。用多重循环穷举出来。
【答案】 甲 1 乙 2 丙 4 丁 3 戊 5

//多重穷举
for (int a = 1; a <=5; a++) {
	for(int b = 1; b <=5; b++) {
		for(int c = 1; c <=5; c++) {
			for(int d = 1; d <=5; d++) {
				for(int e = 1; e <=5; e++) {
					// 条件判断 1 2 3 4 5相乘=120 
                	if((a*b*c*d*e==120)&&((b==5||d==3)&&(a==1||e==4)&&(c==4||d==2)&&(b==3||e==5)))
                		//输出
                    	System.out.println("a:"+a+" b:"+b+" c:"+c+" d:"+d+" e:"+e);
                 		}
					}
				}
			}
		}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5137449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存