夜明珠在哪里? 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
结论:1 号屋说了真话,夜明珠在 3 号屋。