ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 算24点穷尽算法

算24点穷尽算法

原创 Linux操作系统 作者:ccceleven 时间:2011-05-13 17:28:47 0 删除 编辑

 

----算24点 穷尽算法
WITH NUM1 AS(

       SELECT DECODE (E.O,
       '+',A.N+B.N,
       '-',A.N-B.N,
       '*',A.N*B.N,
       '/',A.N/B.N
       ) AS N1,C.N N2,D.N N3,'('||A.N||E.O||B.N||')' S
       FROM T24 A,T24 B,T24 C,T24 D ,O24 E
       WHERE A.N NOT IN (B.N,C.N,D.N)
       AND B.N NOT IN (C.N,D.N)
       AND C.N <> D.N),
       -----1111模式
      NUM2 AS( SELECT DECODE(E.O,
       '+',N1+N2,
       '-',N1-N2,
       '*',N1*N2,
       '/',N1/N2
       ) AS M3,N3 M4,'('||S||E.O||N2||')' M5 ,TO_CHAR(N3) M6
        FROM NUM1,O24 E
        UNION ALL---11*11模式
        SELECT DECODE(E.O,
       '+',N3+N2,
       '-',N3-N2,
       '*',N3*N2,
       '/',N3/N2
       ) AS M3,N1 M4,'('||N3||E.O||N2||')' M5,S M6
        FROM NUM1,O24 E),
       
      NUM3 AS(  SELECT DECODE(E.O,
        '+',M3+M4,
        '-1',M3-M4,
        '*',M3*M4,
        '/',M3/M4
        ) AS TOTAL,M5||E.O||M6 TS
         FROM NUM2,O24 E)
         SELECT * FROM NUM3 WHERE TOTAL=24

       
       
       

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24638034/viewspace-695236/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 集合收藏
请登录后发表评论 登录
全部评论

注册时间:2011-05-11

  • 博文量
    2
  • 访问量
    5760

最新文章