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