、、要表示所有m个数,就首先考虑递推
1个的一定有一个是1
2个的一定有一个是2
3个的一定不用
4个的一定有一个是4
...
8个的一定有一个是8
...
就是二进制、没了(送分结论题)
码:
#include<iostream>
#include<cstdio>
using namespace std;
int ans,n,i;
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i*=2)
{
ans++;
n-=i;
}
if(n!=0)ans++;
printf("%d",ans);
}