每个程序员都应该做的一道逻辑思维题

有三个箱子,一个只装苹果,一个只装橙,另一个装苹果和橙。三个箱子上的标签都标错。你只打开一个箱子,不能看里面,你拿出一个水果,看着这个水果,你能立刻为三箱水果贴上正确标签吗?

看完题目可以去思考一下,完事来看看你的思路是不是和答案一样。

先分析一下,假设:我们从贴苹果标签箱子里拿,如果得到的是苹果,那么这里面一定是苹果和橙子;如果得到的是橙子,那么这里面可能是苹果,也有可能是苹果和橙子。

if(apple){
    //当拿出来的是苹果时
    console.log('一定是苹果和橙子')
}else if{
    //当拿出来的是橙子时
    console.log(' 有可能是苹果和橙子,也有可能是苹果')
}

所以思路来了,我们要从‘ 苹果和橙子’标签里面拿,如果拿出来的是苹果,那么这个箱子里一定是苹果(因为标签都贴错,所以里面不可能是苹果和橙子,只能是 苹果或者橙子 ,如果拿出来的是苹果,就一定是苹果),再往下分析,贴有‘橙子’标签的箱子里,一开始是 苹果和橙子 或者是 苹果,但是苹果已经在另一个箱子里面拿出来了,所以说‘橙子标签’里面只有可能是 苹果和橙子 ,那么贴有标签‘苹果’的箱子里面一定是橙子。

如果第一步拿出来的是橙子,也是同理。

很锻炼思维能力的一道题,所以立马拿出来跟大家分享一下,有不足之处,还望多多指正。

猜你喜欢

转载自blog.csdn.net/helloHCjs/article/details/86590696