题目描述
有个王国在某年爆发了旱灾,于是那里的国王准备开仓济民。已知,第一天发一公斤粮食,第二天发两公斤粮食, 第三天发四公斤粮食。。。。。第二天发的粮食是前一天的两倍。我们已知安抚灾民一共需要m公斤粮食,问第几天国 王能够将宅民安抚好?
输入
多组测试数据。 每组只有一个整数m,表示安抚灾民一共需要的粮食公斤数。
输出
国王要安抚好灾民一共需要发放粮食的天数
#include<stdio.h>
int main(){
int n;
while(~scanf("%d",&n)){
int i=1,t=0,q=n;
while(q>0){
q-=i;
t++;
i*=2;
}
printf("%d\n",t);
}
}