Console-算法[while,if]-一张纸折几折会超过世界最高峰

ylbtech-Arithmetic:Console-算法[while,if]-一张纸折几折会超过世界最高峰
 
1.A,案例
-- ========================================================
-- 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
请按任意键继续. . .
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2013-02-22 11:37  ylbtech  阅读(850)  评论(0编辑  收藏  举报