A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 放手一搏 中级黑马   /  2016-4-15 18:41  /  554 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用while循环完成如下案例
纸张折叠成珠穆朗玛峰高度的次数
我为什么一点头绪都没有  珠峰是8848  纸要怎么叠  这个纸是无限大的?  能无限折叠吗   好乱

4 个回复

倒序浏览
class 8848 {  // 求和 纸张0.0001m 设可以无限折叠 折叠到8844多少次
        public static void main(String[] args) {
                /*思路
                循环体 用while完成
                使用方法
                返回值 conut次数  类型 int
                参数类型  double  0.001   int  8848
                自增 i++   自身翻倍 i= i*2
                */
                double x = 0.0001 ;// 定义 纸的 厚度 用double  单位 米
                int y = 8844 ;                //珠穆朗玛的高度 单位 米
        System.out.println(dou(x,y));  调用方法打印
        }
        public static int dou(double a , int b){
             int count = 0;    //  计数器
                 double i = a ;    // 定义循环初始值 一张纸的厚度
                 while (i<=b) {          //  判断条件  只到达到你要的高度 本题是8848
                         count++;                //  记录折叠几次
                         i=i*2;         // 每次折叠一次  厚度翻倍
                 }
             return count;      // 返回折叠次数
        }
}
回复 使用道具 举报
肯定是假设 纸是足够大 而且能无限折叠的
回复 使用道具 举报
Yoyoqiu 发表于 2016-4-15 19:04
class 8848 {  // 求和 纸张0.0001m 设可以无限折叠 折叠到8844多少次
        public static void main(String[]  ...

谢谢  我电脑坏了 没及时看到你的消息  谢谢了
回复 使用道具 举报
弄懂它想考你什么,它是要你求0.0001乘以多少次2可以超过8848,只是依附在现实背景中,不用太较真。

知己知彼,百战不殆!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马