KeyFansClub

首页 » - 特色讨论区 - » 键社茶餐厅 » 逻辑选择题
wdx04 - 2006/5/28 13:16:00
看到这个题是在两个月前,今天终于花两个小时做出来了。
题目看起来有点怪,但还是以考验耐心为主,有兴趣的可以试一试。
1.第一个答案是b的问题是哪一个?
  (a)2;(b) 3;(c)4;(d)5;(e)6
2.唯一的连续两个具有相同答案的问题是:
  (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;
3.本问题答案和哪一个问题的答案相同?
  (a)1;(b)2;(c)4;(d)7;(e)6
4.答案是a的问题的个数是:
  (a)0;(b)1;(c)2;(d)3;(e)4
5.本问题答案和哪一个问题的答案相同?
  (a)10;(b)9;(c)8;(d)7;(e)6
6.答案是a的问题的个数和答案是什么的问题的个数相同?
  (a)b;(b)c;(c)d;(d)e;(e)以上都不是
7.按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
  (a)4;(b)3;(c)2;(d)1;(e)0.(注:a和b相差一个字母)
8.答案是元音字母的问题的个数是:
  (a)2;(b)3;(c)4;(d)5;(e)6.(注:a和e是元音字母)
9.答案是辅音字母的问题的个数是:
  (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数
10.本问题的答案是:(a)a;(b)b;(c)c;(d)d;(e)e.
craft108 - 2006/5/28 13:49:00
做完题了-_-|||居然用了1个hour…………

答案:1c,2d,3e,4b,5e,6e,7d,8c,9b,10a.

以下为分析过程:
看到这个题是在两个月前,今天终于花两个小时做出来了。
题目看起来有点怪,但还是以考验耐心为主,有兴趣的可以试一试。
1.第一个答案是b的问题是哪一个?
  (a)2;(b) 3;(c)4;(d)5;(e)6
2.唯一的连续两个具有相同答案的问题是: --------------------------2.排除ab
  (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;
3.本问题答案和哪一个问题的答案相同? --------------------------1.排除bce
  (a)1;(b)2;(c)4;(d)7;(e)6
4.答案是a的问题的个数是:
  (a)0;(b)1;(c)2;(d)3;(e)4
5.本问题答案和哪一个问题的答案相同?
  (a)10;(b)9;(c)8;(d)7;(e)6
6.答案是a的问题的个数和答案是什么的问题的个数相同?
  (a)b;(b)c;(c)d;(d)e;(e)以上都不是
7.按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
      (a)4(8.=e);
    (b)3(8.=e);
    (c)2(8.=a||e);
    (d)1(8.=c||e);
    (e)0(8.=e).(注:a和b相差一个字母)
8.答案是元音字母的问题的个数是:
  (a)2;(b)3;(c)4;(d)5;(because 9.!=e,8.!=d)(e)6.(注:a和e是元音字母)
9.答案是辅音字母的问题的个数是: --------------------------3.4<=9.<=8
      (a)一个质数(because 9.e,9.a=7 if 8.=b);
    (b)一个阶乘数;(9.a=6 if 8.=c)
    (c)一个平方数(9.a=4 if 8.=e);
    (d)一个立方数(9.a=8 if 8.=a)
    (e)5的倍数(because 9.a,9!=e)
10.本问题的答案是:(a)a;(b)b;(c)c;(d)d;(e)e.[想出设置第10题的人--赞一个!!!!!!]

--------------------------1.假设1.=c(4.=b && ALL!=a except X && X!=3//先假设X)
--------------------------    2.假设2.=c(5.=b && 9.=b=>B+C+D=6)
--------------------------    3.8.=c,E=3=>count:A=1(4.b),B=3,C=3,D=0,E=3//Known:124589(3C3B)
--------------------------    4.8.=c=>7.=d,but D=0,无解
--------------------------    5.END
--------------------------    2.if 2.=d=>5.=e,6.=e=>B,C,D,E!=1(B+C+D>=6,9!=c)
--------------------------        3.if 3.=d=>7.=d=>8.=c||e=>9.=b||c,矛盾,无解
--------------------------        3.if 3.=e,9!=c=>8!=e=>7!=a||b||e
--------------------------            4.if 7.=c=>8.=a,矛盾
--------------------------            4.if 7.=d=>8.=c=>9.=b

这个出题人还算很仁慈啦,只分析了1.的第一种情况就可以了,还好还好…………………………………………
残枫 - 2006/5/28 13:56:00
我同学说这是他们学校团委招人的题目...
恩,要做出来!
登陆者 - 2006/5/28 14:14:00
汗...才发现我连问题都看不懂
craft108 - 2006/5/28 14:37:00
楼主还在吗?只有一个答案还是有好几个答案??
做完这个累死了………………
Prz - 2006/5/28 14:39:00
23分钟全部解答: ^o^

把每一个条件换成算法语句虽然不难,但是也算是对头脑的一个小小的锻炼吧 ^o^

-----------------------

等等,发现一点问题...|||| 算法修正中...

-----------------------

汗,再次发现一个Bug...

最终答案:
Found answer C D E B E E D C B A
craft108 - 2006/5/28 14:40:00
……………………楼上………………直接用电脑编程啊???
算了我也编程试试……………………………………………………
神羽¢凛舞 - 2006/5/28 14:48:00
汗...都是高人啊,我怎么看都不懂...见了就晕
残枫 - 2006/5/28 14:54:00
以下引用Prz在2006-5-28 14:39:40的发言:
Found answer A B D D A E A E C E
Found answer C D E B E E A E C E


我就做出这两个...
レン「蕾」 - 2006/5/28 14:55:00
这是什么方面的知识- -!我也看不懂~~~
--------------------------------------
反推理答案我知道是什么意思了- -!
残枫 - 2006/5/28 14:59:00
原来问题出在第八题和第九题,死活都是E和C,另外那组解都推不出来...理解上稍微偏出了一点...
Arik - 2006/5/28 15:01:00
....好晕的题目阿..看题目看了半天
忧郁の丸子 - 2006/5/28 15:01:00
真有意思。。。。在解答的过程中,有两次都头晕的想要放弃了。。。

我的答案:1a 2b 3b b 5e 6e 7e 8e 9c 10a,正确吗?

解这题目,就是对各种可能性进行假设,再就是利用题目的相互关联。我最先用感觉确定了2和3的答案,接下来是1。再就是着手确定8和9了,把各种可能性试一下,就得到答案了。

头晕。。。。

----------------------------

检查答案。。。还粗心算错了一个。。。。

这题目,原来真的是多种答案的啊。。。

-------------------------------

第二题题目没看清。。。原来有“唯一”两字。。。粗心啊。。。
残枫 - 2006/5/28 15:02:00
以下引用Prz在2006-5-28 14:39:40的发言:
Found answer A B D D A E A E C E


这个答案不对吗?难道我验算错了?应该吧,和计算机比人脑的出错会大一点...
Vaio - 2006/5/28 15:02:00
ms这是ms的笔试题@@
suika100 - 2006/5/28 15:05:00
这种题目是考什么的?一点也看不明.
Prz - 2006/5/28 15:07:00
参考算法:

(*)表示我出过Bug的地方.... >_<

最终答案只有一个: C D E B E E D C B A


[Wrap=  1:]
[NoCode]
    // 注意:要从头到尾找完,而不能只看答案有的几个问题
    BEGIN
    j:= 11;
    For i:= 1 to 10 do
      if Answer = 2 then
      begin
        j:= i;
        break;
      end;

    if Answer[1]+1 = j then
      Result:= true;
    END;
[/NoCode]
[/Wrap]
[Wrap=  2:(*)]
[NoCode]
    // 一定要从头到尾找完,(注意一旦发现异常立刻返回)
    begin
    for i:= 1 to 9 do
      if Answer = Answer[i+1] then
      if Answer[2]+1 = i
        then Result:= true
        else
        begin
          Result:= false;
          break;
        end;
    end;
[/NoCode]
[/Wrap]
[Wrap=  3:(*)]
[NoCode]
    // 简单(注意序列号)
    begin
    case Answer[3] of
      1: if Answer[3] = Answer[1] then Result:= True;
      2: if Answer[3] = Answer[2] then Result:= True;
      3: if Answer[3] = Answer[4] then Result:= True;
      4: if Answer[3] = Answer[7] then Result:= True;
      5: if Answer[3] = Answer[6] then Result:= True;
    end;
    end;
[/NoCode]
[/Wrap]
[Wrap=  4:]
[NoCode]
    // 简单
    begin
    j:= 0;
    For i:= 1 to 10 do
      if Answer = 1 then
      Inc(j);

    if j+1 = Answer[4] then
      Result:= True;
    end;
[/NoCode]
[/Wrap]
[Wrap=  5:(*)]
[NoCode]
    // 同样简单(注意序列号)
    begin
    if Answer[5] = Answer[5+6-Answer[5]] then
      Result:= True;
    end;
[/NoCode]
[/Wrap]
[Wrap=  6:(*)]
[NoCode]
    // 算法(表面上看)比较的直接
    // 注意: 如果有数量相同的答案不一定要选(因为还有可能有其他字母)
    //      但是,就一定不能选E了!! XD
    begin
    j:= 0;
    For i:= 1 to 10 do
      if Answer = 1 then
      Inc(j);

    m:= 0;
    for l:= 2 to 5 do
      begin
      k:= 0;
      For i:= 1 to 10 do
        if Answer = l then
        Inc(k);

      if (j = k) then
        if (Answer[6] = l-1) then
        BEGIN
          Result:= True;
          Break;
        END
        else m:= 1;
      end;
     
    if (Result = False) and (m = 0) and (Answer[6] = 5) then
      Result:= True;
    end;
[/NoCode]
[/Wrap]
[Wrap=  7:]
[NoCode]
    // 简单
    begin
    j:= Abs(Answer[7] - Answer[8]);
    if (5 - j) = Answer[7] then
      Result:= True;
    end;
[/NoCode]
[/Wrap]
[Wrap=  8:]
[NoCode]
    // 不难
    begin
    j:= 0;
    For i:= 1 to 10 do
      if (Answer = 1) or (Answer = 5) then
      Inc(j);

    if Answer[8] + 1 = j then
      Result:= True;
    end;
[/NoCode]
[/Wrap]
[Wrap=  9:]
[NoCode]
    // 考察简单的数学常识?
    begin
    j:= 0;
    For i:= 1 to 10 do
      if (Answer = 1) or (Answer = 5) then
      Inc(j);
    j:= 10 - j;

    case Answer[9] of
      1: if (j = 2) or (j = 3) or (j = 5) or (j = 7) then
          Result:= True;
      2: if (j = 1) or (j = 2) or (j = 6) then
          Result:= True;
      3: if (j = 1) or (j = 4) or (j = 9) then
          Result:= True;
      4: if (j = 1) or (j = 8) then
          Result:= True;
      5: if (j = 0) or (j = 5) or (j = 10) then
          Result:= True;
    end;
    end;
[/NoCode]
[/Wrap]
[Wrap=  10:]
[NoCode]
    // 最简单的一道问题...|||
    Result:= True;
[/NoCode]
[/Wrap]
国崎ユート - 2006/5/28 15:10:00
完全看不懂的东西,拿回去考老师去......呵呵~
残枫 - 2006/5/28 15:11:00
发现自己错了,在学习算法...
shellingford - 2006/5/28 15:20:00
嗯,40分钟分析完成。佩服2楼的运气和能力,能在第一种猜测下结束整个题目。

其实整个题目做下来是不用猜测的。关键是把握“没有一个题目可以有多选”,或者说“答案一定是固定的”。

具体的分析过程是一种乐趣,请大家自己先体味一下吧,在这里剧透就不好了~~~~XD
Prz - 2006/5/28 15:27:00
学会使用工具是现代人类最伟大的能力啊.... XD
仅仅需要简单的正确翻译所有的逻辑条件,剩下的问题就交给机器暴力破解... XD 虽然不是很有效率的办法,但是确实是耗时最少的...
shellingford - 2006/5/28 15:31:00
啊,小小剧透一下,顺便解释一下为什么不是固定答案就没有意义了:
注意第10题,如果没有“固定答案”这个前提,这个题目在这里是没有意义的。
被诅咒的悲伤 - 2006/5/28 15:33:00
还没看之前就有点头晕了。。
等电脑拿回来的时候。再慢慢看好了。。。
现在每分钟都珍贵的说。
Prz - 2006/5/28 15:41:00
以下引用shellingford在2006-5-28 15:31:53的发言:
啊,小小剧透一下,顺便解释一下为什么不是固定答案就没有意义了:
注意第10题,如果没有“固定答案”这个前提,这个题目在这里是没有意义的。


不对吧....因为有一些问题与整套题目的某种答案的数量有关,10题并不是可有可无的。

的确本套问题应该只有一解,但是原因应该是另外一个:
注意第三题和第五题非常的类似,只是序列号不一样;
同一种题型仅仅出现一次就够了,重复出现多次的话对整套题的解数并没有影响(也就是说,并不能起到减少正确答案的数量的作用),所以可以猜得出正确答案只有一个。
shellingford - 2006/5/28 15:49:00
以下引用Prz在2006-5-28 15:41:01的发言:


不对吧....因为有一些问题与整套题目的某种答案的数量有关,10题并不是可有可无的。

的确本套问题应该只有一解,但是原因应该是另外一个:
注意第三题和第五题非常的类似,只是序列号不一样;
同一种题型仅仅出现一次就够了,重复出现多次的话对整套题的解数并没有影响(也就是说,并不能起到减少正确答案的数量的作用),所以可以猜得出正确答案只有一个。


10题存在的价值就在于“只”与“某种数量”有关,因此也作为了我推理的切入点。但是如果没有“仅有一套答案”这个前提的话,就没有这个价值,因为如果有多套答案,在“另外某套答案”中就得不到和“那个数量”的关系。

至于3和5,在“有多个答案”的前提下,重复出现相同题型也并不是什么大不了的事情啊。“对解数没有影响”的意义不就在于,从这两道相同类型的题目上也不能否认“有多个答案”存在的可能么?
深海の孤独 - 2006/5/28 16:04:00
我还没看完题目就晕了!难道因为快考试了,题目做多了智商下降了???好佩服楼上的那些高人啊!!
忧郁の丸子 - 2006/5/28 16:08:00
在算的过程中,我感觉这个题目应该是多解的。

其实,以验证是不是多解的,把各种出来的答案算一下就行了。

某要出去吃饭了,所以,想要证实是否为多解的朋友们可以去算算看。
Prz - 2006/5/28 16:10:00
因为: 出这种题就是为了难倒解题者。
所以: 每道题应该递增解整套题的难度。

因为: 3和5是同一种题型,并不能减少题的正解数目。
如果: 有多个正解;
      那么: 3题之后的第5题并没有最大化增加解整套题的难度 [ 5选N -> 5选N ]
            出题者应该用一个不同的题型以减少正解数目[ 5选N -> 5选(N-x) ]
      所以: 不符合前面的推论。
如果: 只有一个正解;
      那么: 3题之后的第5题最大化增加了解整套题的难度[ 5选1 -> 5选1 ]
            因为就算是用一个不同的题型也不能减少正解数目了。
      所以: 符合前面的推论。
所以: 本来只有一个正解。
Prz - 2006/5/28 16:16:00
以下引用忧郁の丸子在2006-5-28 16:08:31的发言:
在算的过程中,我感觉这个题目应该是多解的。

其实,以验证是不是多解的,把各种出来的答案算一下就行了。

某要出去吃饭了,所以,想要证实是否为多解的朋友们可以去算算看。


已经验证完毕.

程序代码在 这里 想玩玩的朋友可以下载.
(需要Delphi才能编译,应该任何版本的都可以)
shellingford - 2006/5/28 16:16:00
以下引用Prz在2006-5-28 16:10:48的发言:
因为: 出这种题就是为了难倒解题者。
所以: 每道题应该递增解整套题的难度。

因为: 3和5是同一种题型,并不能减少题的正解数目。
如果: 有多个正解;
      那么: 3题之后的第5题并没有最大化增加解整套题的难度 [ 5选N -> 5选N ]
            出题者应该用一个不同的题型以减少正解数目[ 5选N -> 5选(N-x) ]
      所以: 不符合前面的推论。
如果: 只有一个正解;
      那么: 3题之后的第5题最大化增加了解整套题的难度[ 5选1 -> 5选1 ]
            因为就算是用一个不同的题型也不能减少正解数目了。
      所以: 符合前面的推论。
所以: 本来只有一个正解。


啊,如果做出“因为: 出这种题就是为了难倒解题者。
所以: 每道题应该递增解整套题的难度。”这个“假设”作为前提,确实有一定意义。但是很可惜这套题目中有与题目次序有关的题目(连续两题、第一题这样的条件),因此无论是在“多解”还是“单解”的情况下,都是能增加题目的难度的,因为3和5并不是完全相同的选项,也不是完全相同的位置。
12
查看完整版本: 逻辑选择题