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,解决方案
Console-算法[while,if]-一张纸折几折会超过世界最高峰
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));

        }
    }
}
Console-算法[while,if]-一张纸折几折会超过世界最高峰
1.C,运行结果
对折次数为:30
请按任意键继续. . .

,如需转载请自行联系原作者
上一篇:18 回归算法 - Softmax回归 - 信贷审批案例


下一篇:最全Java面试266题:算法+缓存+TCP+JVM+搜索+分布式+数据库