楼主: 〇〇

[转载] 趣味题

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
91#
 楼主| 发表于 2010-6-15 23:02 | 只看该作者

回复 #91 newkid 的帖子

因为我把数字限定1~c,你的0-f所以比你的少很多...

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
92#
发表于 2010-6-15 23:10 | 只看该作者
原来是1-C, 这下子对上了:
WITH n AS (
   SELECT ROWNUM n FROM DUAL CONNECT BY ROWNUM<=12
   )
,t (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,lvl,roundup) AS (
   SELECT n,0,0,0,0,0,0,0,0,0,0,0,1,0
     FROM n
    WHERE n BETWEEN 1 AND 7
   UNION ALL
   SELECT t.n1
         ,DECODE(t.lvl,1 ,n.n,t.n2 )
         ,DECODE(t.lvl,2 ,n.n,t.n3 )
         ,DECODE(t.lvl,3 ,n.n,t.n4 )
         ,DECODE(t.lvl,4 ,n.n,t.n5 )
         ,DECODE(t.lvl,5 ,n.n,t.n6 )
         ,DECODE(t.lvl,6 ,n.n,t.n7 )
         ,DECODE(t.lvl,7 ,n.n,t.n8 )
         ,DECODE(t.lvl,8 ,n.n,t.n9 )
         ,DECODE(t.lvl,9 ,n.n,t.n10)
         ,DECODE(t.lvl,10,n.n,t.n11)
         ,DECODE(t.lvl,11,n.n,t.n12)
         ,t.lvl+1
         ,CASE t.lvl
          WHEN 5  THEN FLOOR((t.n4 +t.n5 )/16)
          WHEN 8  THEN FLOOR((t.n7 +t.n8 +t.roundup)/16)
          WHEN 11 THEN FLOOR((t.n10+t.n11+t.roundup)/16)
          ELSE t.roundup
          END
     FROM t,n
    WHERE n.n NOT IN (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11)
          AND (t.lvl IN (3,6,9)
               OR (t.lvl=11 AND n.n = MOD(t.n10+t.n11+t.roundup,16) AND t.n3=t.n1+t.n2+FLOOR((t.n10+t.n11)/16))
               OR (t.lvl=10 AND n.n>t.n10)
               OR (t.lvl=8 AND n.n = MOD(t.n7+t.n8+t.roundup,16))
               OR (t.lvl=7 AND n.n>t.n7)
               OR (t.lvl=5 AND n.n = MOD(t.n4+ t.n5,16))
               OR (t.lvl=4 AND n.n>t.n4)
               OR (t.lvl=2 AND n.n - t.n1- t.n2 IN (0,1))
               OR (t.lvl=1 AND n.n>t.n1 AND n.n+t.n1<=15)
              )
   )
SELECT COUNT(*)*8
  FROM t
WHERE lvl=12
      ;

输出: 3408

同一个数的位数对调涉及到进位,没那么简单,不试了。

[ 本帖最后由 newkid 于 2010-6-15 23:15 编辑 ]

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
93#
 楼主| 发表于 2010-6-16 07:25 | 只看该作者
神奇的速度,比c还快...

  1. SQL> WITH n AS (
  2.   2     SELECT ROWNUM n FROM DUAL CONNECT BY ROWNUM<=12
  3.   3     )
  4.   4  ,t (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,lvl,roundup) AS (
  5.   5     SELECT n,0,0,0,0,0,0,0,0,0,0,0,1,0
  6.   6       FROM n
  7.   7      WHERE n BETWEEN 1 AND 7
  8.   8     UNION ALL
  9.   9     SELECT t.n1
  10. 10           ,DECODE(t.lvl,1 ,n.n,t.n2 )
  11. 11           ,DECODE(t.lvl,2 ,n.n,t.n3 )
  12. 12           ,DECODE(t.lvl,3 ,n.n,t.n4 )
  13. 13           ,DECODE(t.lvl,4 ,n.n,t.n5 )
  14. 14           ,DECODE(t.lvl,5 ,n.n,t.n6 )
  15. 15           ,DECODE(t.lvl,6 ,n.n,t.n7 )
  16. 16           ,DECODE(t.lvl,7 ,n.n,t.n8 )
  17. 17           ,DECODE(t.lvl,8 ,n.n,t.n9 )
  18. 18           ,DECODE(t.lvl,9 ,n.n,t.n10)
  19. 19           ,DECODE(t.lvl,10,n.n,t.n11)
  20. 20           ,DECODE(t.lvl,11,n.n,t.n12)
  21. 21           ,t.lvl+1
  22. 22           ,CASE t.lvl
  23. 23            WHEN 5  THEN FLOOR((t.n4 +t.n5 )/16)
  24. 24            WHEN 8  THEN FLOOR((t.n7 +t.n8 +t.roundup)/16)
  25. 25            WHEN 11 THEN FLOOR((t.n10+t.n11+t.roundup)/16)
  26. 26            ELSE t.roundup
  27. 27            END
  28. 28       FROM t,n
  29. 29      WHERE n.n NOT IN (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11)
  30. 30            AND (t.lvl IN (3,6,9)
  31. 31                 OR (t.lvl=11 AND n.n = MOD(t.n10+t.n11+t.roundup,16) AND t.n3=t.n1+t.n2+FLOOR((t.n10+t.n11)/16))
  32. 32                 OR (t.lvl=10 AND n.n>t.n10)
  33. 33                 OR (t.lvl=8 AND n.n = MOD(t.n7+t.n8+t.roundup,16))
  34. 34                 OR (t.lvl=7 AND n.n>t.n7)
  35. 35                 OR (t.lvl=5 AND n.n = MOD(t.n4+ t.n5,16))
  36. 36                 OR (t.lvl=4 AND n.n>t.n4)
  37. 37                 OR (t.lvl=2 AND n.n - t.n1- t.n2 IN (0,1))
  38. 38                 OR (t.lvl=1 AND n.n>t.n1 AND n.n+t.n1<=15)
  39. 39                )
  40. 40     )
  41. 41  SELECT COUNT(*)*8
  42. 42    FROM t
  43. 43  WHERE lvl=12
  44. 44        ;

  45. COUNT(*)*8
  46. ----------
  47.       3408

  48. 已用时间:  00: 00: 01.35


复制代码

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
94#
发表于 2010-6-16 09:01 | 只看该作者
算法不一样嘛。你看我WHERE里面加了那么多条件,就是要尽量早结束递归。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
95#
 楼主| 发表于 2010-6-17 14:15 | 只看该作者
不知道哪块没有翻译对

  1. 41  SELECT COUNT(*),lvl from t group by lvl order by 2;

  2. COUNT(*)        LVL
  3. --------- ----------
  4.         7          1
  5.        46          2
  6.        55          3
  7.       495          4
  8.      1980          5
  9.       953          6
  10.      5718          7
  11.     14295          8
  12.      3901          9
  13.     11703         10
  14.     11703         11
  15.       426         12

  16. 已选择12行。
  17. */
  18. #include <stdio.h>
  19. #include <time.h>
  20. int main()
  21. {
  22. int i=0;
  23. int j=0;
  24. int k=0;
  25. int l=0;
  26. char a[60000][15];
  27. int b[15];
  28. int c=0;
  29. for(i=1;i<=7;i++)//level 1 第一个数第一位最大7
  30. {
  31. a[i][1]=i;
  32. a[i][2]=a[i][3]=a[i][4]=a[i][5]=a[i][6]=a[i][7]=a[i][8]=a[i][9]=a[i][10]=a[i][11]=a[i][12]=0;
  33. a[i][13]=1;
  34. a[i][14]=0;
  35. }
  36. b[0]=1;
  37. b[1]=8;
  38. i=b[1]+1;
  39. for(j=2;j<=12;j++)//level 2-12
  40. {
  41.         printf("j=%d,%d-%d,count=%d\n",j,b[j-2],b[j-1]-1,b[j-1]-b[j-2]);
  42. for(k=1;k<=12;k++)//digit 1-12
  43. {
  44. for(l=b[j-2];l<b[j-1];l++) //l -> last level
  45. {
  46. if(
  47. (k!=a[l][1]&&k!=a[l][2]&&k!=a[l][3]&&k!=a[l][4]&&k!=a[l][5]&&k!=a[l][6]&&k!=a[l][7]&&k!=a[l][8]&&k!=a[l][9]&&k!=a[l][10]&&k!=a[l][11])
  48. &&((a[l][13]==3||a[l][13]==6||a[l][13]==9)
  49.   ||(a[l][13]==11&&k==(a[l][10]+a[l][11]+a[l][14])%16&&a[l][3]==a[l][2]+(a[l][10]+a[l][11])/16)
  50.   ||(a[l][13]==10&&k>a[l][10])
  51.   ||(a[l][13]==8&&k==(a[l][7]+a[l][8]+a[l][14])%16)
  52.   ||(a[l][13]==7&&k>a[l][7])
  53.   ||(a[l][13]==5&&k==(a[l][4]+a[l][5])%16)
  54.   ||(a[l][13]==4&&k>a[l][4])
  55.   ||(a[l][13]==2&&(k==a[l][1]+a[l][2]||k==a[l][1]+a[l][2]+1))
  56.   ||(a[l][13]==1&&k>a[l][1]&&k+a[l][1]<=15)//12)
  57.   )
  58.   )
  59. {
  60. i++;
  61. a[i][1]=a[l][1];
  62. a[i][2]=(a[l][13]==1)?k:a[l][2];
  63. a[i][3]=(a[l][13]==2)?k:a[l][3];
  64. a[i][4]=(a[l][13]==3)?k:a[l][4];
  65. a[i][5]=(a[l][13]==4)?k:a[l][5];
  66. a[i][6]=(a[l][13]==5)?k:a[l][6];
  67. a[i][7]=(a[l][13]==6)?k:a[l][7];
  68. a[i][8]=(a[l][13]==7)?k:a[l][8];
  69. a[i][9]=(a[l][13]==8)?k:a[l][9];
  70. a[i][10]=(a[l][13]==9)?k:a[l][10];
  71. a[i][11]=(a[l][13]==10)?k:a[l][11];
  72. a[i][12]=(a[l][13]==11)?k:a[l][12];
  73. a[i][13]=a[l][13]+1;
  74. a[i][14]=
  75.          (a[l][13]==5)?(a[l][4]+a[l][5])/16:(
  76.          (a[l][13]==8?(a[l][7]+a[l][8]+a[l][14])/16:(
  77.          (a[l][13]==11)?(a[l][10]+a[l][11]+a[l][14])/16:a[l][14])));
  78. if(a[i][13]==12)
  79. {
  80. c++;   
  81. }
  82. } //if     
  83. } //l

  84. } //k
  85. b[j]=i+1;
  86. //printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 10 7 4 2 11 8 5 3 12 9 6*/a[i][1],a[i][10],a[i][7],a[i][4],a[i][2],a[i][11],a[i][8],a[i][5],a[i][3],a[i][12],a[i][9],a[i][6]);
  87. } //j
  88. printf("c=%d\n",c*8);
  89. return 1;
  90. }


  91. D:\lt\dl>pc8
  92. j=2,1-7,count=7
  93. j=3,8-55,count=[b]48[/b]
  94. j=4,56-110,count=55
  95. j=5,111-605,count=495
  96. j=6,606-2585,count=1980
  97. j=7,2586-3538,count=953
  98. j=8,3539-9256,count=5718
  99. j=9,9257-23551,count=14295
  100. j=10,23552-27452,count=3901
  101. j=11,27453-39155,count=11703
  102. j=12,39156-50858,count=11703
  103. c=[b]368[/b]
复制代码

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
96#
发表于 2010-6-17 23:22 | 只看该作者
两个地方有错:
i=b[1]+1;
应该是:
i=b[1]-1;

||(a[l][13]==11&&k==(a[l][10]+a[l][11]+a[l][14])%16&&a[l][3]==a[l][2]+(a[l][10]+a[l][11])/16)
应该是:
||(a[l][13]==11&&k==(a[l][10]+a[l][11]+a[l][14])%16&&a[l][3]==a[l][1]+a[l][2]+(a[l][10]+a[l][11])/16)

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
97#
发表于 2010-6-18 02:00 | 只看该作者
OO你搞虾米啊搞
我不就出那么一题,至于这么折腾么……
下面是我之前写的js源码,1秒之内就完成了,不知道你写的c怎么那么慢
我的笔记本是三年前的,应该不如你的


  1. <script>
  2. function tt(ff)
  3. {
  4.    var a,b,c,d,e,f,g,h,i;
  5.    var r;
  6.    var rlt=""; cnt=0;
  7.         for(a=1; a<5; a++)
  8.         {
  9.                 for(b=1; b<10; b++)
  10.                 {
  11.                         if(b==a) continue;
  12.                         for(c=1; c<10; c++)
  13.                         {
  14.                                 if(c==b || c==a) continue;
  15.                                 for(d=a+1; d<10-a; d++)
  16.                                 {
  17.                                         if(d==c|| d==b || d==a) continue;
  18.                                         for(e=1; e<10; e++)
  19.                                         {
  20.                                                 if(e==d || e==c|| e==b || e==a) continue;
  21.                                                 for(f=1; f<10; f++)
  22.                                                 {
  23.                                                         if(f==e || f==d || f==c|| f==b || f==a) continue;
  24.                                                         r=a*100+b*10+c+d*100+e*10+f;
  25.                                                         r=(r+"");
  26.                                                         if(r<1000)
  27.                                                         {
  28.                                                                 g=r.substr(0,1);
  29.                                                                 h=r.substr(1,1);
  30.                                                                 i=r.substr(2,1);
  31.                                                                 if(g==h || g==i || h==i || r.indexOf("0")>=0 ) continue;
  32.                                                                 if(r.indexOf(a)==-1 && r.indexOf(b)==-1 && r.indexOf(c)==-1 &&
  33.                                                                         r.indexOf(d)==-1 && r.indexOf(e)==-1 && r.indexOf(f)==-1)
  34.                                                                 {
  35.                                                                         rlt=rlt.concat(a,b,c,d,e,f,r,"\n");
  36.                                                                         cnt++;
  37.                                                                 }
  38.                                                                 else
  39.                                                                 {
  40.                                                                         continue;
  41.                                                                 }
  42.                                                         }
  43.                                                 }
  44.                                         }
  45.                                 }
  46.                         }
  47.                 }
  48.         }
  49.         ff.lw.value=rlt+"\n"+cnt;
  50. }
  51. </script>
  52. <form>
  53. <textarea name=lw rows=10 cols=50>dfg</textarea><br/>
  54. <input type=button value="test" onclick="tt(this.form)">
  55. </form>

复制代码





你猜测没错,可以利用交换来实现少计算
这是之前在IX的讨论
http://www.ixpub.net/thread-1390016-1-1.html
因为9个数字组成的等式 abc+def=ghi  成立
那么 aec+dbf=aef+dbc=abf+dec=ghi 一定是成立的
所以你大可以设定
d>a 并且 e>b 并且 f>c
这样就能减少很多不必要的尝试
但换来的问题就是最后你如何将结果展开,即 已知  abc+def=ghi
如何 得出 aec+dbf=ghi、aef+dbc=ghi 和abf+dec=ghi
不过上面的代码是全部列出来的
若按这思路,只应该出来42条,之后才是展开为168条结果

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
98#
发表于 2010-6-18 02:08 | 只看该作者
OO后来改玩四位的,16进制1-C:
abcd + efgh = hijk

[ 本帖最后由 newkid 于 2010-6-18 02:24 编辑 ]

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
99#
发表于 2010-6-18 02:19 | 只看该作者
我那个新的交换思路你要不要试一下?
abc+def = ghi
acb+dfe = gih

在四位的情况下,我用递归 WITH 试过,因为要排除进位因素,不比我上一种方法更高效:

WITH n AS (
   SELECT ROWNUM n FROM DUAL CONNECT BY ROWNUM<=12
   )
,t (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,lvl) AS (
   SELECT n,0,0,0,0,0,0,0,0,0,0,0,1
     FROM n
    WHERE n BETWEEN 1 AND 7
   UNION ALL
   SELECT t.n1
         ,DECODE(t.lvl,1 ,n.n,t.n2 )
         ,DECODE(t.lvl,2 ,n.n,t.n3 )
         ,DECODE(t.lvl,3 ,n.n,t.n4 )
         ,DECODE(t.lvl,4 ,n.n,t.n5 )
         ,DECODE(t.lvl,5 ,n.n,t.n6 )
         ,DECODE(t.lvl,6 ,n.n,t.n7 )
         ,DECODE(t.lvl,7 ,n.n,t.n8 )
         ,DECODE(t.lvl,8 ,n.n,t.n9 )
         ,DECODE(t.lvl,9 ,n.n,t.n10)
         ,DECODE(t.lvl,10,n.n,t.n11)
         ,DECODE(t.lvl,11,n.n,t.n12)
         ,t.lvl+1
     FROM t,n
    WHERE n.n NOT IN (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11)
          AND (t.lvl IN (3)
               OR (t.lvl=11 AND n.n IN (MOD(t.n10+t.n11,16),MOD(t.n10+t.n11+1,16)) )
               OR (t.lvl=10 AND n.n>t.n10)
               OR (t.lvl=8  AND n.n IN (MOD(t.n7+t.n8,16),MOD(t.n7+t.n8+1,16)))
               OR (t.lvl=7  AND n.n>t.n7)
               OR (t.lvl=5  AND n.n IN (MOD(t.n4+t.n5,16),MOD(t.n4+t.n5+1,16)))
               OR (t.lvl=4  AND n.n>t.n4)
               OR (t.lvl=2  AND n.n - t.n1- t.n2 IN (0,1))
               OR (t.lvl=1  AND n.n>t.n1 AND n.n+t.n1<=15)
               OR (t.lvl=6  AND n.n>t.n4)
               OR (t.lvl=9  AND n.n>t.n7)
              )
   )
,t2 AS (SELECT TO_CHAR(n1,'FMX') n1
              ,TO_CHAR(n2,'FMX') n2
              ,TO_CHAR(n3,'FMX') n3
              ,TO_CHAR(n4,'FMX') n4
              ,TO_CHAR(n5,'FMX') n5
              ,TO_CHAR(n6,'FMX') n6
              ,TO_CHAR(n7,'FMX') n7
              ,TO_CHAR(n8,'FMX') n8
              ,TO_CHAR(n9,'FMX') n9
              ,TO_CHAR(n10,'FMX') n10
              ,TO_CHAR(n11,'FMX') n11
              ,TO_CHAR(n12,'FMX') n12
          FROM t
         WHERE lvl=12
       )
,t3 AS (
SELECT n1||n10||n7||n4 as x1
      ,n2||n11||n8||n5 as x2
      ,n3||n12||n9||n6 as x3
  FROM t2
UNION ALL
SELECT n1||n10||n4||n7 as x1
      ,n2||n11||n5||n8 as x2
      ,n3||n12||n6||n9 as x3
  FROM t2
UNION ALL
SELECT n1||n4||n10||n7 as x1
      ,n2||n5||n11||n8 as x2
      ,n3||n6||n12||n9 as x3
  FROM t2
UNION ALL
SELECT n1||n4||n7||n10 as x1
      ,n2||n5||n8||n11 as x2
      ,n3||n6||n9||n12 as x3
  FROM t2
UNION ALL
SELECT n1||n7||n4||n10 as x1
      ,n2||n8||n5||n11 as x2
      ,n3||n9||n6||n12 as x3
  FROM t2
UNION ALL
SELECT n1||n7||n10||n4 as x1
      ,n2||n8||n11||n5 as x2
      ,n3||n9||n12||n6 as x3
  FROM t2
)
SELECT COUNT(*) FROM T3 WHERE TO_NUMBER(x1,'XXXX') + TO_NUMBER(x2,'XXXX') = TO_NUMBER(x3,'XXXX');

[ 本帖最后由 newkid 于 2010-6-18 02:28 编辑 ]

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
100#
 楼主| 发表于 2010-6-18 06:18 | 只看该作者

回复 #96 newkid 的帖子

谢谢,有机器翻译就好了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表