国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

阿基米德群牛問題的分析及Python求解驗證

2021-09-13 07:57王德貴
電腦報 2021年33期
關(guān)鍵詞:正整數(shù)公牛母牛

王德貴

“群牛問題”在古希臘科學(xué)家阿基米德的研究課題中比較特別,是以詩句的形式出現(xiàn)在給埃拉托塞尼的一封信中。雖然其真實性有待考證,因為“群牛問題”大概很早以前就已存在,阿基米德只是重新研究而已,但歷史上對這個問題的研究,卻豐富了初等數(shù)論的內(nèi)容。

下面我們也來分析一下群牛問題,并用Python求解驗證。

(一)群牛問題

太陽神有一牛群,由白、黑、花、棕四種顏色的公、母牛組成。

在公牛中,白牛數(shù)多于棕牛數(shù),多出之?dāng)?shù)相當(dāng)于黑牛數(shù)的1/2+1/3;黑牛數(shù)多于棕牛數(shù),多出之?dāng)?shù)相當(dāng)于花牛數(shù)的1/4+1/5;花牛數(shù)多于棕牛數(shù),多出之?dāng)?shù)相當(dāng)于白牛數(shù)的1/6+1/7。

在母牛中,白牛數(shù)是全體黑牛數(shù)的1/3+1/4;黑牛數(shù)是全體花牛數(shù)1/4+1/5;花牛數(shù)是全體棕牛數(shù)的1/5+1/6;棕牛數(shù)是全體白牛數(shù)的1/6+1/7。

問這牛群是怎樣組成的?

(二)創(chuàng)意來源

通過了解知名數(shù)學(xué)難題的解題思路,并將其用于Python編程,提高我們的數(shù)學(xué)和編程水平。在我搜索的“100個數(shù)學(xué)難題”中第一個問題就是“群牛問題”,經(jīng)過分析和研究,自覺頗有收獲。

這是一道解不定方程組問題,有8個未知數(shù),7個方程,有無數(shù)組解,我們可以求出最小正整數(shù)解。這個解數(shù)值較大,即使通過Python求最小正整數(shù)解也不容易。

(三)設(shè)計思路

按照編程解方程的慣性思路,方程的解可以使用枚舉法去求。結(jié)果當(dāng)Python程序運行后卻沒有輸出結(jié)果(所有程序后面給出)。分析原因發(fā)現(xiàn)是因為解的數(shù)值過大,必須尋求更好的求解方法。

(四)程序設(shè)計過程

1.枚舉法

最普通的思路,不需要過多考慮,用枚舉法一個個去測試(圖1)。

測試1萬個數(shù)的時間復(fù)雜度是10的12次方,需要運行30多個小時。通過搜索已知最小正整數(shù)解的值很大,枚舉法獲得結(jié)果的時間過長,必須去尋找更簡捷的方法。

2.對已知答案驗證出錯

(1)驗證解出錯

在網(wǎng)上搜索到了群牛問題的一組正整數(shù)解,代入方程直接驗證,運行結(jié)果后面4個全部為“False”(圖2)。

False表示解并不符合原題目的這項條件(圖3)。

(2)驗證另一組帶n的解也出錯

搜索到的另一組解是帶n的,代入方程驗證結(jié)果更奇怪(圖4)。

當(dāng)n=1時,有兩個“False”(圖5)。

當(dāng)n=5時,有1個“False”(圖6)。

為什么我把搜到的答案拿來驗證都沒法通過,問題出在哪里呢?為什么不同的解驗算的“False”數(shù)目還不一樣?

在分析這些問題產(chǎn)生的原因過程中,我發(fā)現(xiàn)了一個庫函數(shù)Sympy,它可以幫我解決問題!

3.SymPy庫函數(shù)

(1)SymPy庫簡介

SymPy庫函數(shù)是一個符號計算的Python庫。它的目標是成為一個全功能的計算機代數(shù)系統(tǒng),同時保持代碼簡潔、易于理解和擴展。它完全由Python寫成,不依賴于外部庫。SymPy支持符號計算、高精度計算、模式匹配、繪圖、解方程、微積分、組合數(shù)學(xué)、離散數(shù)學(xué)、幾何學(xué)、概率與統(tǒng)計、物理學(xué)等方面的功能。

SymPy的安裝和使用這里不做介紹,我只分析它求解方程的方法SymPy.solve()。Solve()是一個數(shù)學(xué)術(shù)語,主要是用來求解代數(shù)方程(多項式方程)的符號解析解。

(2)方程求解:先看個簡單例子(圖7)。運行就可以直接求出方程的解{x: -1, y: 4},感覺到Python的強大了嗎?

(3) 群牛問題求解方程

猜你喜歡
正整數(shù)公牛母牛
最強大腦
肉牛繁育改良技術(shù)要點
快跳!
母牛難產(chǎn)的原因及其對策
公牛的角,不要鋸
一頭牛所見到的明亮
生日
對一道IMO題的再研究
勾股數(shù)雜談