pusofalse 发表于 2009-10-17 00:51:56

又一道无聊的逻辑题

有些无聊的、很简单的一道题目,可能有人以前看到过,跟爱因斯坦的“谁是养鱼人”的问题有些相似,但这个简单多了。同样的,百度能搜索到题目和答案,但还是那句话,自己做出来的才值得庆幸。有兴趣的发散下思维~

五个朋友, 一夫,二郎,三吉,四祥,五平五个人,是青梅竹马的好朋友,如今长大成人,各自当上面包店老板,理发师,肉店老板,烟酒经销商和公司职员。(上面的名字和职业是任意安排的,所以不能跟名字互相对照!)
提示 :

  1. 面包店老板不是三吉,也不是四祥。

  2. 烟酒经销商不是四祥,也不是一夫。

  3. 此外,三吉和五平住在同一栋公寓,隔壁是公司职员的家。

  4. 三吉娶理发师的女儿时,二郎这光棍是他们的媒人。

  5. 一夫和三吉有空时,就和肉店老板,面包店老板打牌。

  6. 而且,每隔十天,四祥和五平一定要到理发店修个脸。

  7. 但是,公司职员则一向自己刮胡子,从来不到理发店去。

问题 : 请将这五个人的名字和职业,连接起来!

xrbenbeba 发表于 2009-10-17 03:05:38

如楼主所说,确实没有“谁是养鱼人”难!但是很有意思!
面包店:五平
理发店:一夫
肉店:四祥
烟酒:三吉
职员:二郎

天堂泪吻泪 发表于 2009-10-26 00:43:31

头都大了!在下还是想不出来!看到楼上的答案,一脑子都是为什么???????

kerven 发表于 2010-1-18 21:08:00

确实挺简单:
(4,6)-->理发师是:一夫
排出一个,剩下的就好办了,
(3,7)-->职员是:二郎
接着可判出:面包店:五平
         肉店:四祥
         烟酒:三吉

Ailytao6 发表于 2010-1-19 10:19:55

一夫 理发师 二郎 公司职员 三吉烟酒店老板 四祥 肉店老板 五平 面包店。。。自己推出来的 不知道对不对

gapkiller 发表于 2010-1-19 12:32:24

本帖最后由 gapkiller 于 2010-1-19 17:08 编辑

Dim $man = ["一夫", "二郎", "三吉", "四祥", "五平"]
Dim $career = ["面包", "理发", "肉店", "烟酒", "职员"]

; $man[$man]=$man[$man]
$msg=$man & "        " & $man & "        " & $man & "        " & $man & "        " & $man & @LF & @LF
For $career1=0 To 4
        If check($career[$career1], "烟酒", "面包", "肉店") Then ContinueLoop
        For $career2=0 To 4
                If check($career[$career2],$career[$career1],"理发") Then ContinueLoop
                For $career3=0 To 4
                        If check($career[$career3],$career[$career1],$career[$career2],"面包", "职员", "理发", "肉店") Then ContinueLoop
                        For $career4=0 To 4
                                If check($career[$career4],$career[$career3],$career[$career1],$career[$career2],"面包", "职员", "理发", "烟酒") Then ContinueLoop
                                For $career5=0 To 4
                                        If check($career[$career5],$career[$career4],$career[$career3],$career[$career1],$career[$career2],"职员", "理发") Then ContinueLoop
                                        $msg &= $career[$career1] & "        " & $career[$career2] & "        " & $career[$career3] & "        " & $career[$career4] & "        " & $career[$career5] & @LF
                                Next
                        Next
                Next
        Next
Next
MsgBox(0,"",$msg)

Func check( $v, $c1="1", $c2="", $c3="", $c4="", $c5="", $c6="", $c7="", $c8="", $c9="" )
        For $i=1 To @NumParams-1
                If $v=Eval("c"&$i) Then Return True
        Next
        Return False
EndFunc

Ailytao6 发表于 2010-1-19 13:17:18

:face (29):楼上的太强了。。这么多的代码

catcher 发表于 2010-2-2 16:04:17

楼上的楼上一直是个强人
另第三个条件我没用上

gzhjic 发表于 2010-2-6 09:21:27

这种题看了就头疼

anna 发表于 2010-3-12 11:53:35

what mean?? i don't understand, 逻辑better, up顶:face (39):

zhangyao60 发表于 2010-3-18 21:46:40

这样的帖子,必须要顶。(哎,挣积分下载好难啊)

zhangyao60 发表于 2010-3-18 21:46:53

这样的帖子,必须要顶。(哎,挣积分下载好难啊)
页: [1]
查看完整版本: 又一道无聊的逻辑题