39204 約略算術及其應用

終極密碼

遊戲規則:本遊戲為猜密碼的遊戲。密碼為0到100之間的其中1個整數,電腦會提示密碼的所在範圍,玩家必須在6次之內猜到密碼才能過關。

★ 終極密碼為0到100之間 ★
您共有六次機會

我們自小學算術, 不管是加、減、乘、除、開方, 通常講究的是精確。 中學階段又學到不等式, 當時腦裡仍然存的是精確的概念。 其實, 有許多情況, 近似算法不祇有用, 甚至我們也習慣於近似; 特別在音樂的算學裡, 還必須用到約略的觀念才行。 我稱這類算術為「約略算術」 (翻譯為英文, 可作 approximate arithmetic), 它講究的是「扼重要」, 有別於講究 「求精確」的「通常算術」 (ordinary arithmetic)。
一般講「科學精神」時總不忘提到「求精確」, 其實「扼重要」更是「求精確」之本。 《禮記$\cdot$大學》裡「物有本末, 事有終始, 知所先後, 則近道矣。」一句可為註解。
以下介紹約略算術, 大部分算式用「約等於」符號 ($\approx$) 而不用「等於」符號 ($=$)。

一、從圓周率 $\pi$ 與閏年說起

大家熟知的圓周率 $\pi=3.14159265\cdots$, 近年用計算機已可算至約十兆 ($10^{13}$) 位小數。 有些印度孩童作興即時背出幾百位小數。 其實算出小數位十幾位以後的數字, 在數學上唯好玩而已, 在實驗科學裡著實沒用 ! 古書有言「圓徑一而周三。」 (《周髀算經》上卷 : 「勾股圓方圖。」漢 $\cdot$ 趙爽注), 意思就是圓周率 $\pi$ 約等於 3, 當然太粗略。 西元前約 250 年, 阿基米德已知 $\frac{223}{71}\lt \pi\lt \frac{22}7$, 其後知道 $\frac{22}7(\approx 3.142857)$ 其實是圓周率相當好的近似數, 誤差約萬分之四, 平常很夠用了。 到了約西元 480 年, 南北朝時期南朝宋人祖沖之除了給出「約率」$\pi\approx \frac{22}7$ 之外, 更得出「密率」 $\pi \approx \frac{355}{113} (3.14159292\cdots)$ --- 此一約略分數更準確到千萬分之一。

利用連分數的表示法 $\pi=3+\frac{1}{7+\frac 1{15+\frac 1{1+\cdots}}}$, 可以列出 $\pi$ 的近似分數, 依次是 3, $\frac{22}7$, $\frac{333}{106}$, $\frac{355}{113}$, $\cdots$。

大家也都知道每四年要「閏年」一次, 但到了第一百年要「不閏年」一次。 為什麼? 因為一「回歸年」為 $365.2422\cdots$ 日, 換言之每一年多出 $0.2422\cdots$ 日, 而 $0.24\cdots \approx \frac 14-\frac 1{100}$。 然而這樣只照顧到前面兩位小數 $0.24$。 若要再照顧到後面的小數 $0.0022\cdots$, 國際的約定是: 第四百年要閏年, 第八個四百年則又不要閏年; 為什麼呢? 原來 $0.2422\cdots\approx \frac 14-\frac 1{100}+\frac 1{400}-\frac 1{3200}$。 然而約略等式當然不只一種, 所以也不妨規定第五百年要閏年, 第五千年也要閏年; 其所依據的近似式則是 $0.0022\cdots\approx \frac 1{500}+\frac 1{5000}$。

中國曆法是陰陽合曆, 所以一定要照顧到陰曆月。 陰曆閏月的道理類似:因為一「朔望月」為 29.5306 日, 而 $365.2422 \div 29.5306\approx 12.3683\approx 12+\frac 7{19}$, 所以每 19 年需閏月 7 次。 因為 $\frac 7{19}=0.3684\cdots$, 與 0.3683 相差無幾, 所以此一約略分數式相當準確, 可以沿用歷久。

二、自然對數底 $e$ 與 2 及 10 的關係

數學裡有兩個最重要的常數, 一個是上節講的圓周率 $\pi$, 另一個是所謂「自然對數的底」 $e$。 根據指數函數的定義 $e^x=1+\frac x{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots$, 於是 $e=1+\frac 1{1!}+\frac{1}{2!}+\frac{1}{3!}+\cdots=2.71828\cdots$。

現在介紹兩個關於 $e$ 的約略等式。 首先, $e^7=1,096.3\cdots \approx 2^{10}$, 誤差約 $7%$, 大了些! 但若兩邊取對數, 則得 $\ln 2\approx 0.7$, $\ln 2=0.693\cdots$, 此一約略等式的兩邊誤差減至 1%, 可以接受了! 換言之, $2\approx e^{0.7}$。

其次, $\ln 10\approx 2.30 \approx \frac 73$, 或 $10\approx e^{2.30}$。

以下是兩個應用實例:其一, 在原子物理、固態物理、核物理或天體物理裡常遇到 $e$ 的冪次, 需換算為10的冪次, 以利認知。 例如問 : $e^{-42}$ 以 10 的冪次記, 為何? 答 : $e^{-42}\approx 10^{-\frac{42}{2.30}}\approx 10^{-18}$。

其二, 在複利(按月)計算中, 常需估算本金經多少年能翻倍。 有關的公式是 $n\approx \frac{\ln 2}r$, 式中 $r$ 是年利率, $n$ 是翻倍的年數。 根據前面所述 $\ln 2\approx 0.7$ 的近似值, 便可輕易算出:如果年利率是 2%, 要 35 年; 如果利率達 18%, 則只需要約 4 年。

三、黃金比 $\varphi$

有個出名的數列, 名費氏數列 (Fibonacci sequence) : 1, 1, 2, 3, 5, 8, 13, 21, 34, $\cdots$, 除第一、二兩數為1外, 其後每一數都是前兩數的的和。 不難證明, 後一數與前一數的比 $\frac 21$, $\frac 3 2$, $\frac 53$, $\frac 85$, $\frac {13}8$, $\cdots$。 這一數列趨近 $\frac{\sqrt{5}+1}2 \approx 1.61803\cdots$; 此極限值就是所謂的 「黃金比」 $\varphi$ (the golden ratio)。

取上列第五個數 $\frac{13}8 (=1.625)$ 為例, 與黃金比的誤差約為 0.4%。 取第六個數 $\frac{21}{13}$, 則誤差減小為約 0.16%。 其後每一分數都可當作是 $\varphi$ 的約略數, 越來越接近。

費氏數列在天地間常常可看到, 例如在螺旋生長的機制裡 : 向右(左)的螺旋數與向左(右)的螺旋數的比一定是費氏數列 --- 觀察鳳梨、桑椹、松果、向日葵花, 都可發現。 生物界裡應用的實例還很多, 在此不贅。

四、約略等式 $5^3\approx 2^7$

現在一說簡單的近似算式 $5^3\approx 2^7$。 大家都會算 : $5^3=125$, $2^7=128$, 兩數差2.4%。

利用這一近似算式, 我們來推演一下 : 兩邊各乘上 $2^3$ 再開 10 次方, 於是得到 $10^{0.3}\approx 2 \Rightarrow 10^{0.7}\approx 5$, $10^{0.1}\approx 2^{\frac 13}$。

但 $10^{0.1}$ 或 $2^{\frac 13}$ 約等於多少呢? 將 $2^7\approx 5^3$ 兩邊各三次方, 再稍微移項, 不難得到 $2\cdot 5=10\approx \frac{5^{10}}{2^{20}} =(\frac 54)^{10}$, 於是知道 : $10^{0.1}\approx \frac 5 4=1.25$。 $10^{0.1}$ 的精確值是 $1.2589\cdots$, $2^{\frac 13}$ 的精確值是 $1.2599\cdots$, 與 $\frac 54$ 這一約略式的誤差值各約為 0.7% 與 0.8%。

$10^3\approx 2^{10}$ 這個式子常用到。計算機科學裡常講的的 1K 約略等於 $10^3$, 相當於二進位10個位元的消息量, 精確值為 1,024。 以此類推, 則 1M 相當於 20 個位元, 1G 相當於 30 個位元, 1T相當於 40 個位元。

以下舉兩個簡單的應用實例。

其一 : 某種細菌每 20 分鐘增生一倍, 問一天共增生若干倍? 因為一天 24 小時, 一小時是 20 分鐘的 3 倍, 所以答案為 $2^{3\times 24}=2^{72}\approx 4\times 10^{21}$。 一分鐘呢? 答案是 $2^{\frac 1{20}}\approx e^{\frac{0.7}{20}}=e^{0.035}\approx 1.035$。

其二 : 一個 32 位元電腦所處理的數字, 最多有效位數以二進位言是 31 位, 問相當於十進位數的幾位數? 答案是 $31\times 0.3\approx 9$。

常聽說音量高若干分貝, 卻很少人清楚 : 1分貝 (decibel) 是什麼意思? 原來, 人感覺響度的大小與實際聲音功率強度呈對數關係, 於是定義 B$=\log_{10} \frac P{P_0}$, 式中 $P$ 是測到的功率, $P_0$ 是某一標準功率, B 是響度的「貝數(bel)」。 所以, 響度高 1 貝指功率大 10 倍。 1 分貝則是 1 貝的十分之一, 定義為 dB=$10\log_{10} \frac P{P_0}$, 所以響度高 1 分貝意指輸出功率大 $10^{\frac 1{10}}$ 倍, 亦即約為 1.26 倍。 準此, 則響度高 3 分貝指輸出功率大約大 $10^{0.3}\approx 2$ 倍。

天文學裡, 「星等」的定義也類似。星等定義為 $m=-2.5 \log_{10} \frac{I}{I_0}$, 式中 $I$ 為亮度, $I_0$ 為某標準亮度, $m$ 為星等。因此, 一等星比六等星亮 $10^{\frac 5{2.5}}\approx 100$ 倍, 而 1.7 等星比 2.2 等星的亮度則大 $10^{\frac {0.5}{2.5}}=10^{0.2}\approx (1.25)^2\approx 1.56$ 倍。

在地震學裡有所謂芮氏規模(Richter scale), 大家都一定耳熟, 但未必能詳。 例如 1999 年臺灣集集「九二一」地震的規模是 7.3, 2008 年四川汶川地震的規模是 8.0, 試問汶川地震釋放出的能量比集集地震大多少倍? 原來芮氏地震規模與釋放能量的關係可寫為 $M=\frac 23\log_{10}\frac E{E_0}$, 式中 $E$ 為釋放能量, $E_0$ 為某標準能量, $M$ 為規模大小。 所以規模若差1, 釋放能量差 $10^{\frac 32}=31.62\cdots\approx 32$ 倍。 而汶川地震釋放的能量比集集地震大 $10^{0.7\times \frac 32}\approx 5^{\frac 32}\approx 11$ 倍。

五、約略等式 $3^{12}\approx 2^{19}$

再來看 $3^{12}\approx 2^{19}$ 這一約略等式。 $3^{12}=531,441$, $2^{19}=524,228$; 兩者約略相等, 誤差 -1.4% 。 大家一定很難想到這一約略不等式是音樂裡「十二平均律」的基本原理。

從物理觀點看, 一個「高八度」的音與原音 (例如高音 C 與 C) 之差在哪裡呢? 差在高音 C 的頻率是 C 頻率的 2 倍。 現在如果我們把兩者之間的這一頻率比 2 依等比級數平均分為 12 等分, 則每兩相鄰音 (兩者差「半音」, 例如 C# 與 C, 或 F 與 E) 之間的頻率比便是 $2^{\frac 1{12}}=1.0594630\cdots \approx 1.06$, 這就是所謂「十二平均律」; 於是, G (Sol) 與 C (Do) 之間的頻率比便是 $2^{\frac 7{12}}$。 鋼琴就是依據十二平均律調音的典型樂器。

音樂學界把每個「半音」(semitone) 又分為 100 分, 稱為「音分」(cents), 於是高一音分相當於頻率高 $2^{\frac 1{1200}}=1.000577\cdots$。 音感佳者的耳朵可以分辨出四分之一個半音, 亦即 25 音分的差別 --- 相當於比差 $2^{\frac{25}{1200}}=2^{\frac 1{48}}\approx 1.015$; 據說稟賦特優的耳朵可以分辨出八分之一個半音 --- 相當於比差 1.007。 十二平均律音階的 G 與 C 能和諧嗎? 讓我們來算算看 : $2^{\frac 7{12}}=1.49830\cdots \approx \frac 32$, 兩者相比約為 1.001。 這樣小的頻率差, 再好的耳朵也很難辨別! 所以結論是:十二平均律的 G 與 C 相當和諧!

其間的奧秘說穿了就是 $2^{\frac 7{12}}\approx \frac 32$ 這一約略等式; 將此式兩邊各乘方 12 次, 再略加整理, 就得到 $3^{12}\approx 2^{19}$!

以下列表簡單說明天然律(純律)與十二平均律裡諸音的頻率差:

音名 頻率比(天然律) 頻率比(十二平均律) 兩者比值
C(Do) 1 1 1
D(Re) $\frac{3^2}{2^3}=1.125$ $2^{\frac 2{12}}\approx 1.1225$ 0.9978
E(Mi) $\frac{3^4}{2^6}=1.2656\cdots$ $2^{\frac 4{12}}\approx 1.2599$ 0.9955
F(Fa) $\frac{2^2}{3}=1.3$ $2^{\frac 5{12}}\approx 1.3348$ 1.0011
G(Sol) $\frac{3}{2}=1.5$ $2^{\frac 7{12}}\approx1.4983$ 0.9987
A(La) $\frac{3^3}{2^4}=1.6875$ $2^{\frac 9{12}}\approx 1.6818$ 0.9966
B(Si) $\frac{3^5}{2^7}=1.8984\cdots$ $2^{\frac {11}{12}}\approx 1.8877$ 0.9944
高音C 2 2 1

從上表列十二平均律諸音頻率與天然律諸相關音頻率的比值可以看出, 最多差不過10音分(比差 $\approx 1.006$)。 測量儀器固然可以分辨, 經過特殊訓練的耳朵或許能夠分辨, 但普通人的耳朵是絕對聽不出差異的。

其實, 每種樂器發出的各個基本頻率本身, 總附帶一定的「頻寬」; 換言之, 發出的頻率並不十分準確, 出入比差 1% 是正常的。 換一個角度說, 還正是因為我們的聽覺並不十分敏銳, 我們才不會太挑剔, 而生美感, 也才會接受十二平均律的「和諧」。 而人的美感也是可以培養的 --- 本來, 習慣成自然!

六、約略速算簡介

通俗科學書《別鬧了, 費曼先生!》中有一節介紹物理學家費曼自述其約略速算的本領。 例如他一下子可以心算出 $e^{3.3}\approx 27.11$ 與 $e^{3.0}\approx 20.08$。 為什麼呢? 首先要熟知: 當 $x$ 小時, $e^x\approx 1+x$。 於是, 從本文前幾節所述, 不難推得:

$e^{3.3}=e^1 e^{2.3}=e^1 e^{2.3026} e^{-0.0026}\approx 2.718 \times 10\times (1-0.0026) \approx 27.11$; $e^{3.0}=e^{2.3} e^{0.7}=e^{2.303}e^{-0.003} e^{0.693} e^{0.007}=e^{2.303} e^{0.693} e^{0.004} \approx 10 \times 2\times 1.004=20.08$。

費曼所舉其他速算的例子, 好些是與二項式定理有關; 在此要介紹一下。 二項式定理最早是巴斯卡 (Pascal, 1623$\sim$1662)提出的, 當時只用在整數冪次情形。 牛頓在大學四年級時($\sim$1664)將它推廣到任何冪次情形: $$(1+x)^a=1+ax+\frac{a(a-1)}{2!}x^2+\cdots {\buildrel \hbox{ 當$x$小時}\over \approx} 1+ax.$$ 這一定理在約略算術裡極為有用, 以下舉幾個例子, 讀者當可舉一反三。

例一: $28^{\frac 13}=(27+1)^{\frac 13}=3(1+\frac 1{27})^{\frac 13}\approx 3+\frac 1{27}=3+\frac 1{25}(1+\frac 2{25})^{-1} \approx 3+0.040(1-0.080)\approx 3.037$。 如果熟練, 的確可以在兩秒鐘內給出答案, 準確到四位數。

例二: $40^{\frac 12}=(36+4)^{\frac 12}=6(1+\frac 19)^{\frac 12}\approx 6+\frac 13\approx 6.33$。

例三: $2^{\frac 12}=(1.96+0.04)^{\frac 12}=1.4(1+\frac{0.04}{1.96})^{\frac 12}\approx 1.4(1+0.01)=1.414$。

例四(費曼舉的): $\frac 1{1.73}=\frac 1{\frac 74-0.02}\approx \frac 47 (1-0.01)^{-1}\approx 0.571429(1+0.01)\approx 0.577$。

想熟練約略速算, 有需要先記憶下列基本約略等式或等式: $\sqrt{2}\approx 1.414$, $\sqrt{3}\approx 1.732$, $\sqrt{5}\approx 2.236$, $\sqrt{10}\approx 3.162$, $e\approx 2.718$, $e^{-1}\approx 0.368$, $\pi\approx 3.142$, $\ln 2\approx 0.693$, $\ln 10\approx 2.303$; $\frac 17=0.\overline{142857}$, $\frac 27=0.\overline{285714}$, 等等。

---本文作者任教東吳大學---