夜明珠丢失了怎么办?SQL帮你找回

夜明珠在哪里? ide

一我的的夜明珠丢了,因而他开始四处寻找。spa

有一天,他来到了山上,看到有三个小屋,分别为1号、2号、3号。blog

从这三个小屋里分别走出来一个女子it

1号屋的女子说:“夜明珠不在此屋里。”class

2号屋的女子说:“夜明珠在1号屋内。”select

3号屋的女子说:“夜明珠不在此屋里。”im

这三个女子,其中只有一我的说了真话,那么,谁说了真话?夜明珠到底在哪一个屋里面?请分析。d3


以3个女子说的话为条件进行假设与求证img

declare @a int=1,@ture_count int,@true_people intdi

/**

假设夜明珠在房屋 @a

**/

while(@a<=3)

begin

set @ture_count=0

/**

"夜明珠不在1号屋"

**/

if(@a<>1)

  select @ture_count=@ture_count+1,@true_people=1

/**

"夜明珠在1号屋"

**/

if(@a=1)

  select @ture_count=@ture_count+1,@true_people=2

/**

夜明珠不在3号屋"

**/

if(@a<>3)

  select @ture_count=@ture_count+1,@true_people=3

/**

最终成立条件为"只有一我的说了真话"

**/

if(@ture_count=1)

select convert(varchar(max),@true_people)+N' 号屋说了真话, 夜明珠在 '+convert(varchar(max),@a)+N' 号屋。' as result

set @a=@a+1

end

image.png

结论:1 号屋说了真话,夜明珠在 3 号屋。

相关文章
相关标签/搜索