Console-算法[while,if]-一张纸折几折会超过世界最高峰
ylbtech-Arithmetic:Console-算法[while,if]-一张纸折几折会超过世界最高峰 |
1.A,案例 |
-- ========================================================
-- ylb:算法
-- Type:算法[while,if]
-- munu:一张纸折几折会超过世界最高峰
-- thankyou:sunshine,谢谢您的付出
-- 7:11 2012/3/17
-- ========================================================
-- ylb:算法
-- Type:算法[while,if]
-- munu:一张纸折几折会超过世界最高峰
-- thankyou:sunshine,谢谢您的付出
-- 7:11 2012/3/17
-- ========================================================
将一张纸折几折会超过世界最高峰——珠穆朗玛峰的高度?
我们平常用的练习本的纸,厚度约00.8毫米,与一根头发丝的直径差不多,如果现在拿一张比练习本纸更薄的纸,厚度为00.1毫米,那可算是“薄如蝉翼”了。现在将这张纸对折,再对折,再对折······,假如这张纸有足够大,那么我们对折多少次它的厚度可以超越世界最高峰——珠穆朗玛峰(8844.43米)的高度?
1.B,解决方案 |
using System; namespace ConsoleApplication1 { class Program { /// <summary> /// ylb:分析 /// 首先我们将两个长度单位统一:1米=1000毫米,即8844.43米=8844430毫米。 /// 然后我们来计算每次对折后的纸的厚度:纸的厚度=纸的厚度*2. /// 当知道厚度超过珠穆朗玛峰的高度时不再计算 /// </summary> static void Main(string[] args) { int n = 0; // 对折次数 float pf = 0.01f; //纸的厚度,初始值为0.01 while (pf < 8844430) /*当纸的厚度小于珠穆朗玛峰的高度时执行循环体内程序 * 否则跳出循环体* */ { pf *= 2; //等同于pf=pf*2; n++; //每次对这一次,对折次数加一 } Console.WriteLine(string.Format("对折次数为:{0}", n)); } } }
1.C,运行结果 |
对折次数为:30 请按任意键继续. . .
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |