精华帖 (3) :: 良好帖 (10) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-13
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 牛啊! |
|
返回顶楼 | |
发表时间:2009-07-13
口算更快。题目不难,不过挺有意思的
|
|
返回顶楼 | |
发表时间:2009-07-13
明白题目不难,但用SQL来算确实有难度
|
|
返回顶楼 | |
发表时间:2009-07-13
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 牛 |
|
返回顶楼 | |
发表时间:2009-07-13
MS SQLSERVER2005执行通过
declare @a int,@b int,@c int,@j int,@k int,@l int,@aa int,@bb int,@cc int,@abc int set @j=1; set @k=1; set @l=1; while(@j<10) begin set @a=@j; set @k=1; while(@k<10) begin if not (@j=@k) begin set @b=@k; set @l=1; while(@l<10) begin if not (@l=@j) and not(@l=@k) begin set @c=@l; set @aa = cast(cast(@a as varchar)+cast(@a as varchar) as int); set @bb = cast(cast(@b as varchar)+cast(@b as varchar) as int); set @cc = cast(cast(@c as varchar)+cast(@c as varchar) as int); set @abc = cast(cast(@a as varchar)+cast(@b as varchar) + cast(@c as varchar) as int); if( @aa+@bb+@cc = @abc ) begin print '小=' + cast(@a as varchar) + ',霸=' + cast(@b as varchar) + ',王=' + cast(@c as varchar); end end set @l=@l+1; end end set @k=@k+1; end set @j=@j+1; end |
|
返回顶楼 | |
发表时间:2009-07-13
sxyx2008 写道 今天去腾讯面试了,遇到这么一道sql方面的题,甚是费解
已知 小小+霸霸+王王=小霸王 小=?,霸=?,王=? 用sql求证 大家给点看法 分享分享!!!! 我明白了 原来这题的意思是小、霸、王各代表0-9中的一个数字 满足小小+霸霸+王王=小霸王 问小、霸、王各是那个数字 也就相当于求解方程 10x+x+10y+y+10z+z=1000x+100y+z的解 也就是989x+89y-10z=0的解 但是很奇怪腾讯跟小霸王是什么关系? 为啥不是小企鹅呢。。 |
|
返回顶楼 | |
发表时间:2009-07-14
knightzhuwei 写道 sxyx2008 写道 今天去腾讯面试了,遇到这么一道sql方面的题,甚是费解
已知 小小+霸霸+王王=小霸王 小=?,霸=?,王=? 用sql求证 大家给点看法 分享分享!!!! 我明白了 原来这题的意思是小、霸、王各代表0-9中的一个数字 满足小小+霸霸+王王=小霸王 问小、霸、王各是那个数字 也就相当于求解方程 10x+x+10y+y+10z+z=1000x+100y+z的解 也就是989x+89y-10z=0的解 但是很奇怪腾讯跟小霸王是什么关系? 为啥不是小企鹅呢。。 应该是10x+x+10y+y+10z+z=100x+10y+z的解 即89x-y-10z=0的解,你是不是看错了哦 |
|
返回顶楼 | |
发表时间:2009-07-14
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 大哥真强悍,佩服啊。 |
|
返回顶楼 | |
发表时间:2009-07-14
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 |
|
返回顶楼 | |
发表时间:2009-07-14
其实 小小+霸霸+王王 是障碍。。。完全可用 xx+yy+zz
|
|
返回顶楼 | |