IT Notes‎ > ‎Algorithms‎ > ‎

铅笔盒在哪里?

题目:
明明找不到铅笔盒了,妈妈对他说:“我把铅笔盒放到三个抽屉中的一个抽屉里了,每个抽屉上都写了一句话。不过,其中只有一句话是真的。”
明明看到的三句话是:
  1. 左边抽屉:“铅笔盒不在这里”;
  2. 中间抽屉:“铅笔盒不在这里”;
  3. 右边抽屉:“铅笔盒在左边的抽屉”;
问:铅笔盒放在哪个抽屉里?

这个问题,能明确一点是:铅笔盒只能放在一个抽屉里。可用程序简单解答如下:
        // 假设左中右的三个抽屉的编号依次为:1, 2, 3
        // 这个问题很明确的一点是,铅笔盒只能放在某一个抽屉里,以下按抽屉编号循环判断
        for (int i = 1; i <= 3; i++) {
            int count = 0;
            count += (i != 1) ? 1 : 0;// 铅笔盒不在左边的抽屉
            count += (i != 2) ? 1 : 0;// 铅笔盒不在中间的抽屉
            count += (i == 1) ? 1 : 0;// 铅笔盒在左边的抽屉

            if (count == 1) { // 只有一句话是真的
                System.out.println("放铅笔盒的抽屉编号是" + i);
            }
        }
详细的可执行代码在这里


Comments