最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python求解阿基米德分牛問題

 更新時間:2023年03月09日 08:32:03   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了如何利用Python優(yōu)雅地求解阿基米德分牛問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下

題目大意

 太陽神有一牛群,由白、黑、花、棕四種顏色的公、母牛組成,其間關(guān)系如下,求每種牛的個數(shù)。

公牛中,白牛多于棕牛,二者之差為黑牛的1/2+1/3;黑牛多于棕牛,二者之差為花牛的1/4+1/5;花牛多于棕牛,二者之差為白牛數(shù)的1/6+1/7

母牛中,白牛是全體黑牛的1/3+1/4;黑牛是全體花牛的1/4+1/5;花牛是全體棕牛的1/5+1/6;棕牛是全體白牛的1/6+1/7

如果用字母x0,x1, x2 , x3分別表示白、黑、花、棕各色的公牛數(shù);用y0,y1,y2,y3分別表示白、黑、花、棕各色母牛數(shù),則得8 個未知數(shù)的如下7 個方程

這個題其實(shí)是毫無難度的,但非要用Python,那么難點(diǎn)主要如何優(yōu)雅地表達(dá)這個過程,這里選用的是sympy符號計算。

所以第一步,先給定一些符號

import sympy
x0,x1,x2,x3 = sympy.symbols("x0,x1,x2,x3")
y0,y1,y2,y3 = sympy.symbols("y0,y1,y2,y3")
x = [x0,x1,x2,x3]
y = [y0,y1,y2,y3]

sympy求解

然后將阿基米德分牛問題轉(zhuǎn)化為Python代碼,其優(yōu)雅之處在于,這些分?jǐn)?shù)的構(gòu)建遵循自然數(shù)遞增的規(guī)律,故可通過循環(huán)來生成,非常便捷。

frac = lambda x : sympy.Rational(1,x)
fs = []
for i in range(3):
    fs.append(x[i]-x[3]-(frac(2*i+2)+frac(2*i+3))*x[i+1])

for i in range(4):
    ind = (i + 1) % 4
    fs.append(y[i]-(frac(i+3)+frac(i+4))*(x[ind]+y[ind]))

這樣就得到了待求方程組

>>> for f in fs: print(f)
...
x0 - 5*x1/6 - x3
x1 - 9*x2/20 - x3
x2 - 55*x3/42
-7*x1/12 + y0 - 7*y1/12
-9*x2/20 + y1 - 9*y2/20
-11*x3/30 + y2 - 11*y3/30
-13*x0/42 - 13*y0/42 + y3

但是,8個未知數(shù)7個方程,顯然沒有唯一解,考慮到x3貌似是最小的值,所以最后希望用x3來表示其他數(shù)。

res = sympy.solve(fs, x[:3]+y)

結(jié)果

查看一下結(jié)果

for key in res:
    print(sympy.latex(key), "&=", sympy.latex(res[key]), r"\\")

這道題到這里基本上就算解完了,但是牛至少得是個整數(shù),所以接下來要做的是求解分母的最小公倍數(shù)。

在sympy中,對于一個分?jǐn)?shù)r,r.p為分子,r.q為分母;lcm可求解其最小公倍數(shù)。

denominators = [(v/x3).q for v in res.values()]
x3Res = sympy.lcm(denominators)
# 32859792

然后讓將x3的值加入fs,

fs.append(x3-x3Res)
res2 = sympy.solve(fs, x+y)
for key in res2:
    print(sympy.latex(key), "=", res2[key], r"\\")

結(jié)果如下

x0?=76379457
x1?=52223598
x2?=43030680
x3?=32859792
y0?=48646815
y1?=31170942
y2?=26238080
y3?=38698608

這些牛加一起有349247972頭,全世界大概有10萬億頭,看來太陽神的牛還是比較多的。

到此這篇關(guān)于利用Python求解阿基米德分牛問題的文章就介紹到這了,更多相關(guān)Python阿基米德分牛內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用kombu連接信息中包含#號問題排查方式

    Python使用kombu連接信息中包含#號問題排查方式

    文章描述了在部署Python項目到生產(chǎn)環(huán)境時遇到的一個錯誤,即端口號無法正確轉(zhuǎn)換為整數(shù)值,該錯誤在測試環(huán)境和本地調(diào)試中沒有出現(xiàn),但在生產(chǎn)環(huán)境中才出現(xiàn),通過分析錯誤信息和代碼,作者發(fā)現(xiàn)問題出在URL解析過程中,特別是在處理包含特殊字符(如#號)的URL時
    2024-12-12
  • Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例

    Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例

    在python編程中,我們經(jīng)常要用到j(luò)son對象作為數(shù)據(jù)交換格式,下面這篇文章主要給大家介紹了關(guān)于Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • python利用WordCloud模塊實(shí)現(xiàn)詞云繪制

    python利用WordCloud模塊實(shí)現(xiàn)詞云繪制

    wordcloud是詞云繪圖模塊,封裝了WordCloud詞云類,是詞云的基本載體,下面小編就來和大家詳細(xì)講講如何利用WordCloud模塊實(shí)現(xiàn)詞云繪制吧,希望對大家有所幫助
    2023-10-10
  • Python生成器(Generator)詳解

    Python生成器(Generator)詳解

    這篇文章主要介紹了Python生成器(Generator)詳解,本文講解了什么是生成器、簡單生成器、帶yield 語句的生成器、加強(qiáng)的生成器等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 詳解requirements.txt的生成和安裝

    詳解requirements.txt的生成和安裝

    本文主要介紹了詳解requirements.txt的生成和安裝,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 對pytorch中的梯度更新方法詳解

    對pytorch中的梯度更新方法詳解

    今天小編就為大家分享一篇對pytorch中的梯度更新方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python學(xué)習(xí)教程之常用的內(nèi)置函數(shù)大全

    Python學(xué)習(xí)教程之常用的內(nèi)置函數(shù)大全

    python給我們提供了很多已經(jīng)定義好的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)教程之一些常用的內(nèi)置函數(shù),文中分享了關(guān)于數(shù)學(xué)函數(shù)、功能函數(shù)、類型轉(zhuǎn)換函數(shù)、字符串處理和序列處理函數(shù)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • python雙向鏈表實(shí)例詳解

    python雙向鏈表實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了python雙向鏈表實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 使用python復(fù)制PDF中的頁面的操作代碼

    使用python復(fù)制PDF中的頁面的操作代碼

    操作PDF文檔時,復(fù)制其中的指定頁面可以幫助我們從PDF文件中提取特定信息,如文本、圖表或數(shù)據(jù)等,以便在其他文檔中使用,本文將介紹如何使用Python 在同一文檔中復(fù)制PDF頁面,或者復(fù)制頁面到另一PDF文檔中,需要的朋友可以參考下
    2024-09-09
  • Pytorch多GPU訓(xùn)練過程

    Pytorch多GPU訓(xùn)練過程

    這篇文章主要介紹了Pytorch多GPU訓(xùn)練過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

正蓝旗| 安丘市| 永宁县| 宜昌市| 轮台县| 固始县| 民权县| 天镇县| 依兰县| 利津县| 基隆市| 延边| 安阳县| 上思县| 霍山县| 全椒县| 涿州市| 搜索| 永胜县| 阿克苏市| 海兴县| 图木舒克市| 黔西县| 涡阳县| 桃源县| 大关县| 吉安市| 诸暨市| 吴江市| 达拉特旗| 临沭县| 清丰县| 祥云县| 马尔康县| 石狮市| 文山县| 澄城县| 榆树市| 洛隆县| 乌拉特中旗| 长葛市|