论坛首页 招聘求职论坛

腾讯公司费解的sql面试题,都来看看,留下你的见解

浏览 46744 次
精华帖 (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 


牛啊!
0 请登录后投票
   发表时间:2009-07-13  
口算更快。题目不难,不过挺有意思的
0 请登录后投票
   发表时间:2009-07-13  
明白题目不难,但用SQL来算确实有难度
0 请登录后投票
   发表时间: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 



0 请登录后投票
   发表时间: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
0 请登录后投票
   发表时间:2009-07-13  
sxyx2008 写道
今天去腾讯面试了,遇到这么一道sql方面的题,甚是费解
已知 小小+霸霸+王王=小霸王
小=?,霸=?,王=?
用sql求证
大家给点看法
分享分享!!!!

我明白了 原来这题的意思是小、霸、王各代表0-9中的一个数字 满足小小+霸霸+王王=小霸王 问小、霸、王各是那个数字
也就相当于求解方程
10x+x+10y+y+10z+z=1000x+100y+z的解
也就是989x+89y-10z=0的解
但是很奇怪腾讯跟小霸王是什么关系?
为啥不是小企鹅呢。。
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的解,你是不是看错了哦

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 


大哥真强悍,佩服啊。
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 


1 请登录后投票
   发表时间:2009-07-14  
其实 小小+霸霸+王王 是障碍。。。完全可用 xx+yy+zz
0 请登录后投票
论坛首页 招聘求职版

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