17 折纸问题
作者: 朱星垠时间限制: 1S章节: 循环
问题描述 :
已知有一张纸,其厚度为1厘米。现在给你一座山的高度N(单位:米)。问将纸对折多少次后,其厚度将超过这座山的高度?
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由一行组成,每行为一个正整数N,N小于等于珠穆朗玛峰的高度。
输出说明 :
对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的文本终端)依次输出一组对应的答案:对折的次数,所有数据前后没有多余的空行,两组数据之间也没有多余的空行。
输入范例 :
1
200
8848
输出范例 :
7
15
20
#include <stdio.h>
int main(){//珠穆朗玛峰高度8844.43m,百度说国务院规定的(⊙o⊙)哦~
int N,count=0,i=0;
double h=0.01;
while(scanf("%d",&N) !=EOF){
if(N<0||N>8848)
continue;
while(h<=N){
h*=2.0;count++;
}
printf("%d\n",count);
}
return 0;
}