- 相关推荐
腾讯公司费解的sql面试题归纳
今天去腾讯面试了,遇到这么一道sql方面的题,甚是费解
已知 小小+霸霸+王王=小霸王
小=?,霸=?,王=?
用sql求证
大家给点看法
分享分享!!!!
看了大家这么多答案
最后提醒大家一点
是用sql求证 这才是这道题目的重点
当然用别的方法也可以做出来,但我想这不是面试官所期望的答案吧
现在给出sql求证的答案
已知 小小+霸霸+王王=小霸王
小=?,霸=?,王=?
用sql求证
declare @data int,@i int,@j int,@l int
set @data=100
while (@data<=999)
begin
set @i=@data/100
set @j=@data/10 % 10
set @l=@data % 10
if((@i+@j+@l)*11=@data)
begin
Select @data data,@i i,@j j,@l l
break
end
set @data=@data+1
end;
分析:
II+JJ+LL=IJL
I*10+I +J*10+J+L*10+L = I*100+J*10+L
(I+J+L)*11
要理解提议:
11+99+88=198,求满足这样要求的数,1,9,8等等~
以下是各种讨论方式:
1.较为简洁的:
createtablen_table(nint)--n为0..9 selecta.n,b.n,c.n fromn_tablea,n_tableb,n_tablec where11*(a.n+b.n+c.n)=a.n*100+b.n*10+c.n
2.
题目实际上是方程
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=
得出
0=<89-10t<=9
于是t = 8,y = 9
现在89x-10z = 9
0=0=0=<10z = 89x-9<=90
于是9=<89x<=99
x只能取1
代入89x-10z = 9,
得89 - 10z = 9
z = 8
于是可以得出解为(1,9,8)
[腾讯公司费解的sql面试题归纳]相关文章:
【腾讯公司费解的sql面试题归纳】相关文章:
SQL面试题07-12
一道腾讯的面试题07-09
跪求腾讯前端面试题07-10
14道seo经典面试题归纳07-09
腾讯公司诉讼问题07-10
腾讯公司电话是多少07-09
宝马公司面试题07-11
世界最佳公司面试题07-11
IT公司笔试面试题系列07-12