【HYSBZ - 1192】鬼谷子的钱袋(水题,二进制)
題干:
鬼谷子非常聰明,正因?yàn)檫@樣,他非常繁忙,經(jīng)常有各諸侯車的特派員前來向他咨詢時(shí)政。有一天,他在咸陽游歷的時(shí)候,朋友告訴他在咸陽最大的拍賣行(聚寶商行)將要舉行一場拍賣會(huì),其中有一件寶物引起了他極大的興趣,那就是無字天書。但是,他的行程安排得很滿,他他已經(jīng)買好了去邯鄲的長途馬車標(biāo),不巧的是出發(fā)時(shí)間是在拍賣會(huì)快要結(jié)束的時(shí)候。于是,他決定事先做好準(zhǔn)備,將自己的金幣數(shù)好并用一個(gè)個(gè)的小錢袋裝好,以便在他現(xiàn)有金幣的支付能力下,任何數(shù)目的金幣他都能用這些封閉好的小錢的組合來付賬。鬼谷子也是一個(gè)非常節(jié)儉的人,他想方設(shè)法使自己在滿足上述要求的前提下,所用的錢袋數(shù)最少,并且不有兩個(gè)錢袋裝有相同的大于1的金幣數(shù)。假設(shè)他有m個(gè)金幣,你能猜到他會(huì)用多少個(gè)錢袋,并且每個(gè)錢袋裝多少個(gè)金幣嗎?
Input
包含一個(gè)整數(shù),表示鬼谷子現(xiàn)有的總的金幣數(shù)目m。其中,1≤m ≤1000000000。
Output
只有一個(gè)整數(shù)h,表示所用錢袋個(gè)數(shù)
Sample Input
3
Sample Output
2
Hint
解題報(bào)告:
? ? 水題,用二進(jìn)制來理解就好了。相當(dāng)于是log(n)+1.
AC代碼:
#include<bits/stdc++.h>using namespace std;int main() {int m;while(~scanf("%d",&m)) {int ans = 0;while(m) {m>>=1;ans++;}cout << ans << endl;}return 0 ; }?
總結(jié)
以上是生活随笔為你收集整理的【HYSBZ - 1192】鬼谷子的钱袋(水题,二进制)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nerosmartstart.exe -
- 下一篇: Netlib.exe - Netlib是