描寫
鬼谷子非常聰明,正由于這樣,他非常繁忙,常常有各諸侯車的特派員前來向他咨詢時政。有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