论坛首页 Java企业应用论坛

网上没找到答案的逻辑推理题

浏览 17221 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-07  
用数学方程比较容易解决
0 请登录后投票
   发表时间:2009-09-07  
还有比 joyfun 同学更好的解法么,欢迎指教。感觉 joyfun 同学的方法复杂了些。
0 请登录后投票
   发表时间:2009-09-08  
个人写的数学解决方法:
1.先设定未知量
  X1表示甲队赢的场数
  X2表示乙队赢的场数
  X3表示丙队赢的场数
 
  Y1表示甲队输的场数
  Y2表示乙队输的场数
  Y3表示丙队输的场数
 
  Z1表示甲队平的场数
  Z2表示乙队平的场数
  Z3表示丙队平的场数
 
  S1表示甲队的总得分
  S2表示乙队平总得分
  S3表示丙队平总得分

  N表示各队之间比赛的所有场数(根据已知条件各队之间的比赛场数相等)
 
2.由已知条件可得到以下关系
  X1>X2
  X1>X3
 
  Y2<Y1
  Y2<Y3
 
  Z1 = N - X1 - Y1;
  Z2 = N - X2 - Y2;
  Z3 = N - X3 - Y3;
 
  根据总分的计算方程既有
  S1 = 3*X1 + Z1
  S2 = 3*X2 + Z2
  S3 = 3*X3 + Z3
 
3.采用假设法:
           ①先假设 丙队的总得分大于甲队 即 S3 > S1
   则有:
        <=> 3 * X3 + (N - X3 - Y3) > 3*X1 + (N - X1 - Y1)
        <=> 3(X3 - X1) + (X1 - X3) + (Y1 - Y3) > 0
        <=> 2(X3 - X1) > (Y3 - Y1)
       
   又因为 X1 > X3
  
        <=> 0 > 2(X3 - X1) > (Y3 - Y1)
        <=> 0 > Y3 - Y1
        <=> Y1 > Y3
   因此如果丙队的总得分要大于甲队,则 必须满足 Y1 > Y3   
         
      
           ②在第一个假设的前提下,丙队的总得分有可能大于乙队,就说明丙队有可能是第一名,因此
              进一步假设 丙队的总得分大于乙队 即 S3 > S2

   则同理有:   
          <=> 2(X3 - X2) > (Y3 - Y2)
          <=> Y2 - Y3 > 2(X2 - X3)
         
   又因为 Y2 < Y3
  
          <=> 0 > Y2 - Y3 > 2(X2 - X3)
          <=> 0 > X2 - X3
          <=> X3 > X2
         
   因此如果丙队的总得分要大于乙队,则 必须满足 X3 > X2
         
  综上所述:
            只要满足
                     Y1 > Y3 && X3 > X2
                     即 甲输的场数多于丙输的场数 同时 丙赢的场数多于乙赢的场数
                    (例如:
                      甲 赢3 平3 输3
                      乙 赢2 平4 输3
                      丙 赢3 平4 输2
                     )
            丙队便可以是第一名
           
           

 
 
0 请登录后投票
   发表时间:2009-09-08  
这问题本身就是矛盾的
假设 甲赢的场数 W(甲) 平的场数为 D(甲) 输的场数为L(甲),
     乙赢的场数 W(甲) 平的场数为 D(乙) 输的场数为L(乙),
     丙赢的场数 W(丙) 平的场数为 D(丙) 输的场数为L(丙),
那么 按照题目的意思 W(甲)>W(丙) ,因为甲赢的场数就是乙和丙输的场数的和,即:W(甲)=L(乙)+L(丙)
上面的不等式就可以变成 L(乙)+L(丙)>L(乙)+L(甲) 也就是L(丙)> L(甲),那就说明丙输的应该比甲的多,这与题目是条件是矛盾的
0 请登录后投票
   发表时间:2009-09-08  
lindakun 写道
个人写的数学解决方法:
         
  综上所述:
            只要满足
                     Y1 > Y3 && X3 > X2
                     即 甲输的场数多于丙输的场数 同时 丙赢的场数多于乙赢的场数
                    (例如:
                      甲 赢3 平3 输3
                      乙 赢2 平4 输3
                      丙 赢3 平4 输2
                     )
            丙队便可以是第一名
 
 


   这个显然不正确,比赛结果不可能总平的场数为:甲平3,乙平4,丙平4的情况,或者说,两两队相比的比赛,结果不可能出现"甲平,乙负"的情况,平局的总场次一定是个偶数.
   我思考过这个问题,但是能力太低不能得出答案,这个问题我化简为六元的不等式组,无奈数学太差,不会解多元不等式组.前面有的楼说这个是解方程的问题,其实从概念上就错了,方程首先是等式,如果有解,一定是确定解,而这个问题我认为如果有解,也无法给出确定解,因为它有多个不等式条件约束.
   期待大神给出解答!
0 请登录后投票
   发表时间:2009-09-08  
boywukong 写道
lindakun 写道
个人写的数学解决方法:
         
  综上所述:
            只要满足
                     Y1 > Y3 && X3 > X2
                     即 甲输的场数多于丙输的场数 同时 丙赢的场数多于乙赢的场数
                    (例如:
                      甲 赢3 平3 输3
                      乙 赢2 平4 输3
                      丙 赢3 平4 输2
                     )
            丙队便可以是第一名
 
 


   这个显然不正确,比赛结果不可能总平的场数为:甲平3,乙平4,丙平4的情况,或者说,两两队相比的比赛,结果不可能出现"甲平,乙负"的情况,平局的总场次一定是个偶数.
   我思考过这个问题,但是能力太低不能得出答案,这个问题我化简为六元的不等式组,无奈数学太差,不会解多元不等式组.前面有的楼说这个是解方程的问题,其实从概念上就错了,方程首先是等式,如果有解,一定是确定解,而这个问题我认为如果有解,也无法给出确定解,因为它有多个不等式条件约束.
   期待大神给出解答!


joyfun 的回答是正确的。
0 请登录后投票
   发表时间:2009-09-08  
Win[x] + Tie[x] + Los[x] = Win[y] + Tie[y] + Los[y] = Win[z] + Tie[z] + Los[z]  -- (2)

这个是不成立的吧?问题只是说 “每两队之间都比赛了同样多的场数”,并不是每个队都比赛了同样多的场数。
0 请登录后投票
   发表时间:2009-09-08  
因为甲赢的场数就是乙和丙输的场数的和,即:W(甲)=L(乙)+L(丙)

这个公式是不对的吧?!
因为乙丙之间可以有输赢的,只能说W(甲)<L(乙)+L(丙)

W(甲)=L(乙)对甲输+L(丙)对甲输

L(乙)+L(丙) >= L(乙)对甲输+L(丙)对甲输
0 请登录后投票
   发表时间:2009-09-08  
线性规划:单纯形法!
0 请登录后投票
   发表时间:2009-09-08   最后修改:2009-09-08
推理过程:
a代表甲
b代表乙
c代表丙
1代表赢,
2代表平
3代表输(没有用到)

a1 > b1
   > c1

b1 + b2 > a1 + a2
       > c1 + c2

隐含条件
a2 <= b2 + c2
b2 <= a2 + c2
c2 <= a2 + b2
否则这么多平局跟谁平去?



3a1 + a2
3b1 + b2
3c1 + c2
之中
3c1 + c2 是否可能是最大的。


这里我要找到一种可能性使c是最大的,那么我就可以通过合理假设尽可能使a和b最小,使c最大。当然是在满足所有限制条件的情况下。

合理假设:
1. b1 = 0; 如果b没有赢过,积分无疑是最可能小的情况了。这样3b1+b2分数才尽可能小。
2. c1 = a1 – 1。3c1+c2要最大。那么再跟3a1+a2比较的时候,就要尽可能在赢的场数上跟a1差距缩小,这样分数才会最大嘛。因为c1 + c2 < b2,c1<a1,所以理想情况是c1 = a1 – 1,c2用足。这样3c1+c2分数才尽可能大。
3. b2 = a2 + c2。b的平局都是和a和c打的。如果a和c除了跟b的平局外还互相有平局的话,那么c2会比没有ac互相平局的时候大,因为c1 + c2 < b2, 所以c和a每多一场平局,c1就不得不少一场,就少了两分(赢变成了平,3-1=2)。这在跟b比较的时候是不利的。所以ac没有互相平局才最有利。这样3c1+c2分数才尽可能大。
4. c2 =a2 + 4。由于希望3c1+c2>3a1+a2,应用假设2 (c1 = a1 – 1),3a1 – 3 + c2 > 3a1 + a2, 那么c2 > a2 + 3。所以需要c2 >=a2 + 4成立,3c1+c2>3a1+a2才成立。如果c2 =a2 + 5或者更多的话,因为c1 + c2 < b2的限制,c2每多一场,c1就少一场,所以c2刚刚比a2多4场是最有利的。这样3c1+c2分数才尽可能大。


经过上述合理假设:
a: 3a1 + a2
b: 3b1 + b2 = b2 = a2 + c2= 2a2 + 4
c: 3c1 + c2 = 3a1 – 3 + a2 + 4 = 3a1 + a2 + 1

问题演变为是否存在合理数值使得
3a1 + a2 + 1 > 2a2 + 4

3a1 – a2 > 3

a1如果取值为1,那么a2需为负数
a1如果取值为2, 那么a2可以是1或者2

验证:
a1 = 2, a2 = 1    7
b1 = 0, b2 = 6    6
c1 = 1, c2 = 5    8
成立

a1 = 2, a2 = 2    8
b1 = 0, b2 = 8    8
c1 = 1, c2 = 6    9
也成立
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics