逻辑题

这是一道关于奥林匹克运动会运动员排名的逻辑题,涉及到5位运动员的排名谜团。题目中提到,前三名说谎,后两名说实话。通过分析运动员的陈述,可以推断出他们的实际排名。同时,文章还提供了使用Java解决此类问题的思路。
摘要由CSDN通过智能技术生成

题目:

一架飞机载着5位运动员从奥林匹克运动会归来,这5位运动员在某个项目中排名第一到第五。他们说了下面这些话:
A:”我不是最后一名。”
B:”C是第三名。”
C:”A的排名在E后面。”
D:”E是第二名。”
E:”D不是第一名。”
处于谦虚或其他什么原因,金牌和银牌的得主都说了谎。那三个成绩相对较差的运动员倒说了真话。 他们的排名到底怎样?

 

解决:

 

Java程序的解决思路

//用了lambda表达式,需要jdk8+
import static java.lang.System.out;

public class Temp{
	interface Test{
		abstract boolean check(int ans[]);
	}
	static void checkFun(int i, boolean t[], int ans[], Test[] condition){
		int j;
		if(i==ans.length){ 
			for(j=0;j<condition.length;j++){
				if(condition[j].check(ans) == false){
					break;
				}  
			}
			if(j==condition.length){
				out.println("\n(Correct )ans:");
					for(int k=1;k<ans.length;k++)
						out.print(""+k+":"+ans[k]+"; "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值