首先我们拿到题目后,很明显的发现可以用循环语法进行计算。
所以,到底用那种循环呢?
for循环,while循环,还是switch循环?
根据分析,我们发现,在题目中我们不确定循环的开始条件,也不确定执行的次数。
但我们可以确定循环的结束条件,那就是高度等于8844430毫米结束循环。
所以选择的是while循环解决这个问题。
话不多说直接放代码:
public class ZZXL04 {
public static void main(String[] args) {
//定义一个double变量height代表珠穆朗玛峰高度,并且初始赋值8844430毫米
double height = 8844430;
//定义一个double变量parer代表纸张厚度,并且初始赋值0.1毫米
double paper = 0.1;
//定义一个int变量count表示执行循环的次数(折叠次数),初始赋值0
int count=0;
//使用while循环
while(paper<height){
paper*=2;//每次折叠后厚度翻倍
count++;//每次循环次数自增1
}
System.out.println("折叠0.1毫米的纸张"+count+"次后大于或等于珠穆朗玛峰高度,高度是"+paper);//输出折叠次数和折叠后纸张的高度
}
}
运行截图:
由此得出折叠27次0.1毫米纸张的高度已经超出了珠峰!
见微知著。