zoukankan      html  css  js  c++  java
  • 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    05 redis中的Setbit位图法统计活跃用户
    04 redis list结构及命令详解
    03 redis之string类型命令解析
    02 redis通用命令操作
    Mesos提交任务没有被执行
    mesos的zookeeper变更
    VS Code使用git
    vs code 安装Scala
    打印正反读计算方式
    cloudera上面安装Spark2.0
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2922008.html
Copyright © 2011-2022 走看看