Java之“珠穆朗玛峰”
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之“珠穆朗玛峰”相关的知识,希望对你有一定的参考价值。
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
前言
故事分享:相传印度有位外来的大臣跟国王下棋,国王输了,就答应满足他一个要求:在棋盘上放米粒。第一格放1粒,第二格放2粒,然后是4粒,8粒,16粒…直到放到64格。国王哈哈大笑,认为他很傻,以为只要这么一点米。按照大臣的要求,放满64个格,需米18446744073709551615粒,是二十位的数字。这些米别说倾空国库,就是整个印度,甚至全世界的米,都无法满足这个大臣的要求!
故事中的国王认为只需要一点米,但实际全世界的米加起来都无法满足这个要求,相同原理可知,如果用一张很小的纸进行反复折叠,那么是不是要折叠几千次才能达到珠穆朗玛峰的高度呢?
问题描述
世界上最高山峰是珠穆朗玛峰(8844.43米)。假如我有一张足够大的纸,它的厚度是0.1毫米。那么请问,我折叠多少次恰好可以折到珠穆朗玛峰的高度?
解决方法
已知珠穆朗玛峰的高度为8844430毫米,并且纸的厚度为0.1毫米。纸折叠一次其倍数翻一翻时,由于无法知晓折叠的次数,在这种情况下更适合使用while循环。
实验结果与讨论
通过定义变量,使用while循环语句等证明纸张折叠27次即可达到珠穆朗玛峰的高度,能够解决开头提出的问题。
代码清单
package sctu.edu.test.com; |
结语
针对“珠穆朗玛峰”问题,通过定义count、paper、Mountain三个变量值,再结合while语句,最终实现折叠次数。在对“珠穆朗玛峰”案例的解决过程中进一步巩固while语句,并将继续Java的巩固联系。
实习编辑:衡辉
稿件来源:深度学习与文旅应用实验室(DLETA)
以上是关于Java之“珠穆朗玛峰”的主要内容,如果未能解决你的问题,请参考以下文章
我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?