看来要公布答案了!
先将天数分段,每100天分一段,即每100天的囚犯负责记数.
假设最开始时灯是开的.
在第1个100天内,如果每个囚犯是第一次被叫出去,那么他不对灯进行操作,如果他是第2次被叫出去,那么他就操作灯,如果他是2次以上被叫出去,那么他也不操作灯.
则如果第100个囚犯发现灯是亮的,则表示每个囚犯都出去了.当然更大的可能性是他看到灯是灭的.
然后再以100天为1段区间,此时灯是灭的.
在第2个100天内,如果每个囚犯是第一次被叫出去,那么他不对灯进行操作,如果他是第2次被叫出去,那么他就操作灯,如果他是2次以上被叫出去,那么他也不操作灯.
则如果第100个囚犯发现灯是灭的,则表示每个囚犯都出去了.当然更大的可能性是他看到灯是亮的.
此后的过程是上述过程的循环.
解题思路:计算机语言中的循环和归零.
|