世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

首先我们拿到题目后,很明显的发现可以用循环语法进行计算。

所以,到底用那种循环呢?

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毫米纸张的高度已经超出了珠峰

见微知著。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值