Problem
Mean
将一个数字m分为几个互不相同的数字,使得由这些数字可以组成1至m的任意数字。
求最少划分为几个数字可满足要求。
Analysis
水题。
求得满足2^k>m的最小k值即可。
Code
#include<cstdio>
int m,cnt=1,t=1;
int main(){
scanf("%d",&m);
while((t<<=1)<=m) cnt++;
printf("%d",cnt);
return 0;
}
将一个数字m分为几个互不相同的数字,使得由这些数字可以组成1至m的任意数字。
求最少划分为几个数字可满足要求。
水题。
求得满足2^k>m的最小k值即可。
#include<cstdio>
int m,cnt=1,t=1;
int main(){
scanf("%d",&m);
while((t<<=1)<=m) cnt++;
printf("%d",cnt);
return 0;
}