找回密码
 加入
搜索
查看: 3885|回复: 11

又一道无聊的逻辑题

  [复制链接]
发表于 2009-10-17 00:51:56 | 显示全部楼层 |阅读模式
有些无聊的、很简单的一道题目,可能有人以前看到过,跟爱因斯坦的“谁是养鱼人”的问题有些相似,但这个简单多了。同样的,百度能搜索到题目和答案,但还是那句话,自己做出来的才值得庆幸。有兴趣的发散下思维~

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

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

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

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

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

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

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

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

问题 : 请将这五个人的名字和职业,连接起来!
发表于 2009-10-17 03:05:38 | 显示全部楼层
如楼主所说,确实没有“谁是养鱼人”难!但是很有意思!
面包店:五平
理发店:一夫
肉店:四祥
烟酒:三吉
职员:二郎

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10

查看全部评分

发表于 2009-10-26 00:43:31 | 显示全部楼层
头都大了!在下还是想不出来!看到楼上的答案,一脑子都是为什么???????
发表于 2010-1-18 21:08:00 | 显示全部楼层
确实挺简单:
(4,6)-->理发师是:一夫
排出一个,剩下的就好办了,
(3,7)-->职员是:二郎
接着可判出:面包店:五平
           肉店:四祥
           烟酒:三吉
发表于 2010-1-19 10:19:55 | 显示全部楼层
一夫 理发师 二郎 公司职员 三吉烟酒店老板 四祥 肉店老板 五平 面包店。。。自己推出来的 不知道对不对
发表于 2010-1-19 12:32:24 | 显示全部楼层
本帖最后由 gapkiller 于 2010-1-19 17:08 编辑
Dim $man[5] = ["一夫", "二郎", "三吉", "四祥", "五平"]
Dim $career[5] = ["面包", "理发", "肉店", "烟酒", "职员"]

; $man[$man]=$man[$man]
$msg=$man[0] & "        " & $man[1] & "        " & $man[2] & "        " & $man[3] & "        " & $man[4] & @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

评分

参与人数 1金钱 +60 收起 理由
pusofalse + 60

查看全部评分

发表于 2010-1-19 13:17:18 | 显示全部楼层
楼上的太强了。。这么多的代码
发表于 2010-2-2 16:04:17 | 显示全部楼层
楼上的楼上一直是个强人
另第三个条件我没用上
发表于 2010-2-6 09:21:27 | 显示全部楼层
这种题看了就头疼
发表于 2010-3-12 11:53:35 | 显示全部楼层
what mean?? i don't understand, 逻辑better, up顶
发表于 2010-3-18 21:46:40 | 显示全部楼层
这样的帖子,  必须要顶。(哎  ,  挣积分下载好难啊)
发表于 2010-3-18 21:46:53 | 显示全部楼层
这样的帖子,  必须要顶。(哎  ,  挣积分下载好难啊)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 12:53 , Processed in 0.096161 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表