夜明珠在哪裏? 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 號屋。