对于给出的钱数,任何钱数都可以由log(n)二进制数加一个常数组成,因此只要把是二进制的数,装在log(n)个口袋中,把最后常数单独装在一个口袋中即可。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <set>
#include <vector>
using namespace std;
int main()
{
int n;
cin>>n;
int ans=0;
while(n){
n>>=1;
ans++;
}
cout<<ans<<endl;
return 0;
}