柯西平均值定理作為已經被證明的數學難題,在高中數學中就有應用。它又叫柯西不等式,也稱為柯西均值定理,一般表述為:n個正數的幾何平均值不大于這些數的算術平均值。
設有n個非負實數X1,X2,X3……Xn,則有

今天我們用Python、Scratch和APPInventor來做簡單驗證。
在Python學習中,解決數學問題可以幫助我們顯著提高學習效果。近幾期我們一直在分享研究歷史數學難題的收獲,希望對大家有所幫助。
定理內容比較簡單,就是需要計算算術平均值和幾何平均值。算術平均值,就是n個正數的和除以n得到的結果。幾何平均值,是n個正數的積,開n次方得到的結果。
讓程序先產生n個隨機數,再計算兩個平均值,最后進行比較即可。
但隨機數如果都是正整數,驗證結果受限,還要用小數來驗證。為了產生n位的小數,將范圍擴大10n倍,產生隨機數后,再縮小10n倍,這樣便可用整數和小數來驗證。
在實際運行過程中,卻出現了一個問題。那就是小數位數有上限,三種語言都出現了這種情況,比如Python就是17位有效數字。所以在程序中都需要根據語言環境進行相應的處理。
本例涉及等級考試二級內容。通過鍵盤輸入范圍、數據個數和小數位數后,首先做范圍處理,如果范圍的位數和小數位數的和超出17位,則不做驗證(圖1)。

然后隨機生成n個數p位小數,添加到列表中,再計算算術平均值和幾何平均值。最后做比較,輸出結果。
程序不是很難,主要是用到了兩個函數。一個是random庫中的randint()函數產生一定范圍內的隨機整數,還有一個是pow(x,y)函數,是求x 的y次方,我這們這里利用這個函數做開n次方運算,即y值在(0,1)之間的值為開方運算,比如pow(2,1/2),即是求2的平方根。
1.首先初始化,鍵盤輸入范圍、個數和小數位數(圖2)

同時清空數據列表,將4個變量初始化。
2.產生n個隨機數并計算
循環“個數”次,產生的n個隨機數,進行加法和乘法運算,保存在變量中,同時將數據添加到列表中,以備查看(圖3)。

3.求出幾何平均值和算術平均值
算術平均值就是用n個數的和除以n,得到的結果(圖4)。

幾何平均值是將n個數的積,開n次方根的結果。因為Scratch里沒有提供開n次方根的積木塊,這里利用了指數和對數的性質。公式中n就是數據的個數,“積”為保存n個數積的變量。
4.輸出結果
先判斷幾何平均值是不是超出范圍,再判斷小數位數和擴大范圍后的值,是不是超出范圍,如果都沒有超出范圍,則判斷幾何平均值是否小于或等于算術平均值,如果滿足條件,則說明柯西平均值定理成立,說:“柯西平均值定理成立”5秒,否則說“柯西平均值定理不成立”5秒(圖5、圖6)。


1.UI設計
界面設置參考APP運行結果。注意設置3個文本輸入框的提示信息。
2.變量與初始化
變量6個,功能如下。驗證數據列表,存儲隨機產生的驗證數據。隨機數,即保存每次產生的隨機數。其他4個變量如名字(圖7)。
