陳東棟
一天,爸爸對我說:“在小于1024的 范圍內任想一個數,讓你猜,你需要多少次才能猜中?”
我:“這很難說了,運氣好,只要一次;運氣差的話,就要1024次了?!?/p>
爸爸笑道:“那還算什么能耐?我最多只提十個問題,你只需要回答‘是‘不是或‘答對了,就可以了?!?/p>
我不信。我想了個數——187,說:“我想好了。允許你問一百次,看能猜中不?”
爸爸笑道:“最多十次!”
于是,我和爸爸之間的問答開始了。
爸爸問:“大于512 嗎?”
我答:“不是?!?/p>
“大于256嗎?
“不是?!?/p>
“大于128 嗎?”
“是?!?/p>
“大于192 嗎?”
“不是?!?/p>
“大于160 嗎?”
“是?!?/p>
“大于176 嗎?”
“是?!?/p>
“大于184 嗎?”
“是?!?/p>
“大于188 嗎?”
“不是!”
“大于186 嗎?”
“是!”
爸爸得意地說:“你想的數在188 和186 之間,肯定是187 了!”
我驚訝地張大嘴:“答對了。啊,爸爸,你太酷了!”
我向爸爸討要解題方法,爸爸很詳細地告訴了我解題的秘密。原來爸爸巧妙地利用了“折半”策略。
1024 連續“折半”的結果是:512、256、128、64、32、16、8、4、2、1 共十個數。
爸爸先折半提問,根據我回答的“是”或“不是”,用加加、減減折半數字,逐步縮小猜數的范圍。比如問:“大于128 嗎?”對方答“是”,則在128 上加它的半數(128+64=192)再問,對方答“不是”,則減去64的半數(192-32=160)……這樣繼續問下去,最后便“水落石出”了!
聰明的小讀者,你學會了嗎?你也想試試這個猜數游戲吧?快找個人一起玩。