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

高中编程课的一道题:

一张厚 0.1 毫米的纸、纸张大小足够,对折多少次,厚度才达到珠穆朗玛峰的高度(8848米)?(不考虑纸能对折的最大次数)

答案:

用对数解出来的结果约等于 26.4 次,但题目要求是达到珠峰高度,所以应该是 27 次才能超过这个高度。Common Lisp 代码:

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

;; 纸厚度为0.1
(folding 0.1 0)                         ; => 27