一张纸对折多少次才到珠穆朗玛峰高度

*题目*: 一张纸厚度为0.1毫米,并且纸张大小合适,问对折多少次,厚度才达到珠穆朗玛峰的高度(8848米)?(不考虑纸能被对折的最多次数)

*答案*: 用对数解出来的结果约等于26.4次,但题目要求是达到珠峰高度,所以应该是27次,才能超过这个高度。可以用编程方法解决,得到的结果是27。

写于2014-09-24:

这道题是我读高中时的课堂编程题,多年后整理笔记看到这个题目、这个答案,不禁觉得很忧伤。8848米,看上去多么宏伟壮观,心中默默抬头,那是遥不可及;0.1毫米看上去多么渺小,可以被多少人忽略掉的数字。下面是我用Common Lisp写的计算过程:

(defun folding (paper-height times)
  ;; 珠穆朗玛峰高度,单位毫米
    (if (> paper-height 8848000)
	times
      (folding (* 2 paper-height) (1+ times))))

;; 纸厚度为0.1
(folding 0.1 0)

REPL打印出27时,不得不让人感到唏嘘。