加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

BZOJ-1192-鬼谷子的钱袋

发布时间:2020-12-13 20:17:53 所属栏目:PHP教程 来源:网络整理
导读:描写 鬼谷子非常聪明,正由于这样,他非常繁忙,常常有各诸侯车的特派员前来向他咨询时政。有1天,他在咸阳游历的时候,朋友告知他在咸阳最大的拍卖行(聚宝商行)将要举行1场拍卖会,其中有1件宝物引发了他极大的兴趣,那就是无字天书。但是,他的行程安排

描写

鬼谷子非常聪明,正由于这样,他非常繁忙,常常有各诸侯车的特派员前来向他咨询时政。有1天,他在咸阳游历的时候,朋友告知他在咸阳最大的拍卖行(聚宝商行)将要举行1场拍卖会,其中有1件宝物引发了他极大的兴趣,那就是无字天书。但是,他的行程安排得很满,他他已买好了去邯郸的长途马车标,不巧的是动身时间是在拍卖会快要结束的时候。因而,他决定事前做好准备,将自己的金币数好并用1个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组合来付账。鬼谷子也是1个非常节俭的人,他千方百计使自己在满足上述要求的条件下,所用的钱袋数最少,并且不有两个钱袋装有相同的大于1的金币数。假定他有m个金币,你能猜到他会用多少个钱袋,并且每一个钱袋装多少个金币吗?


分析

  • 可能有点水,但这类题做的很少,还是练习1下比较好
  • 斟酌2进制
  • 任何数都可用2的幂次方加和得到.
  • 那末把m个金币拆成几个2的幂次方的数就能够凑出任何 1~m 之间的数了. 但是不1定会正好,把剩下的钱拆成单唯一份,答案就是第1个大于m的2^n的那个n. 那如果正好拆完呢? 由于最后1份不可以是m,所以还是要把m拆开,结果还是1样.
  • 为何是2进制不是其他进制呢? 由于任何数都可用2的幂次方加和得到. 但其他的就不1定了.

代码

https://code.csdn.net/snippets/612326

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读