玩一个猜数游戏游戏规则如下:
从 1 到 n 之间选择一个数字,你来猜我选了哪个数字
每次你猜错了,我都会告诉你我选的数字比你的大了或者小了。
然而当你猜了数芓 x 并且猜错了的时候,你需要支付金额为 x 的现金直到你猜到我选的数字,你才算赢得了这个游戏
给定 n ≥ 1,计算你至少需要拥有多少现金才能确保你能赢得这个游戏
假如n=10,那么你可能会选择1-10中的任意一个数
最后要输出的是:对方选择哪一个数的时候你在能赢的前提下,最少的支付的现金(换句话说:假如对方选择1稳赢的话要支付2块;假如选择2,稳赢的话要支付4块等等,那么最少的支付钱数就是2块)
首先第一步就是对稳赢的处理:
假如对方选择8:那么你首先可能猜1-10中任意一个数
你猜1>下一轮在2-10中猜>…计算出需要支付的最大值