精华帖 (3) :: 良好帖 (10) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-14
風一樣的男子 写道 其实 小小+霸霸+王王 是障碍。。。完全可用 xx+yy+zz
用xyz一下就就明白了。 |
|
返回顶楼 | |
发表时间:2009-07-14
恩 是的
把他看成XYZ一下就明白了 |
|
返回顶楼 | |
发表时间:2009-07-14
最后修改:2009-07-14
算法:
89 * x2 = x1 + 10 * x0 MySQL: create table `num`( `x` int(11) unsigned, unique key (`x`) ) Engine = Innodb, default charset utf8; insert into `num` values (0); insert into `num` values (1); insert into `num` values (2); insert into `num` values (3); insert into `num` values (4); insert into `num` values (5); insert into `num` values (6); insert into `num` values (7); insert into `num` values (8); insert into `num` values (9); select x2.x as '小',x1.x as '霸',x0.x as '王' from num as x2,num as x1,num as x0 where x2.x * 89 = (x1.x + x0.x * 10); Oracle10g: drop table num cascade constraints; create table num ( x NUMBER(1) not null, CONSTRAINT "NUM_UK_X" UNIQUE ("X") ); insert into num values (0); insert into num values (1); insert into num values (2); insert into num values (3); insert into num values (4); insert into num values (5); insert into num values (6); insert into num values (7); insert into num values (8); insert into num values (9); select x2.x "小",x1.x "霸",x0.x "王" from num x2,num x1,num x0 where x2.x * 89 = (x1.x + x0.x * 10); |
|
返回顶楼 | |
发表时间:2009-07-14
第一次见到sql解答的,见识了。
|
|
返回顶楼 | |
发表时间:2009-07-14
最后修改:2009-07-14
我以数学的方法来做此题
题目实际上是方程 10x+x+10y+y+10z+z = 100x+10y+z(x,y,z都是0到9的正整数) 简化得89x-y-10z = 0 y = 89x-10Z 特解(x,y,z)=(10,0,89) y = 89-10t(t为整数) 0=<y<=9 得出 0=<89-10t<=9 于是t = 8,y = 9 现在89x-10z = 9 0=<x<=9而且x是正整数 0=<z<=9而且z是正整数 0=<10z = 89x-9<=90 于是9=<89x<=99 x只能取1 代入89x-10z = 9, 得89 - 10z = 9 z = 8 于是可以得出解为(1,9,8) |
|
返回顶楼 | |
发表时间:2009-07-14
langhua9527 写道 icefishc 写道 create table n_table (n int) -- n 为 0..9 select a.n, b.n, c.n from n_table a, n_table b, n_table c where 11 * (a.n + b.n + c.n) = a.n * 100 + b.n * 10 + c.n 大哥,你太猛了 晕,大哥你怎么知道这个题目是十进制的。。。如果是2进制呢。。。这个题目有漏洞 |
|
返回顶楼 | |
发表时间:2009-07-14
小小+霸霸+王王=小霸王
小=1,霸=9,王=8 1分钟内推导一下就可以解决。 令小为x,霸为y,王为z。 3个2位数相加,x只能是1或者2。 由个位数相加可知,y=10-x,也就是9或者8。 结合考虑十位数, 1: x=1,y=9,有19z-110=zz,则z=8 2: x=2,y=8,有28z-110=zz,则z=17,无解 原文是 用sql求证, 不是求解? 知道推导规律,上面的sql也可以简化一下了。 |
|
返回顶楼 | |
发表时间:2009-07-14
都是马后炮,还是最早那位用sql解出来的大哥猛!
|
|
返回顶楼 | |
发表时间:2009-07-14
laogao3232 写道 都是马后炮,还是最早那位用sql解出来的大哥猛!
让我想起一句经典批评用语:事后诸葛亮,事前猪一样~ |
|
返回顶楼 | |
发表时间:2009-07-14
Oracle:
SELECT a.x,b.x,c.x FROM (SELECT rownum x FROM DUAL connect by rownum < 10) a, (SELECT rownum x FROM DUAL connect by rownum < 10) b, (SELECT rownum x FROM DUAL connect by rownum < 10) c WHERE 11 * (a.x + b.x + c.x) = (a.x*100 + b.x * 10 + c.x); |
|
返回顶楼 | |