• 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    TIDB-存储
    MySQL的ACID
    MySQL MVCC
    MySQL 悲观锁、乐观锁、MVCC一
    MySQL写放大总结
    基于Linux上的wifi密码爆破
    Stack与Queue的实现(c++模板实现)
    vector 实现二维数组
    Linux下的静态链接与动态链接
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2922008.html
Copyright © 2020-2023  润新知