1. 首頁
  2. 面試

騰訊公司費解的sql面試題歸納

騰訊公司費解的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面試題歸納]相關文章:

1.騰訊公司費解的sql面試題歸納

2.騰訊公司ios面試題