亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        阿基米德群牛問題的分析及Python求解驗(yàn)證

        2021-09-13 07:57:26王德貴
        電腦報(bào) 2021年33期

        王德貴

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

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

        (一)群牛問題

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

        在公牛中,白牛數(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個(gè)數(shù)學(xué)難題”中第一個(gè)問題就是“群牛問題”,經(jīng)過分析和研究,自覺頗有收獲。

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

        (三)設(shè)計(jì)思路

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

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

        1.枚舉法

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

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

        2.對(duì)已知答案驗(yàn)證出錯(cuò)

        (1)驗(yàn)證解出錯(cuò)

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

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

        (2)驗(yàn)證另一組帶n的解也出錯(cuò)

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

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

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

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

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

        3.SymPy庫函數(shù)

        (1)SymPy庫簡(jiǎn)介

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

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

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

        (3) 群牛問題求解方程

        国产丝袜免费精品一区二区| 狠狠躁日日躁夜夜躁2020| 欧洲女人性开放免费网站| 亚洲人成综合网站在线| 色婷婷激情在线一区二区三区| 日本午夜剧场日本东京热| 不卡av电影在线| 国产日产高清欧美一区| 成年女人片免费视频播放A| 日韩有码在线一区二区三区合集 | 视频在线播放观看免费| 国产在线视频一区二区天美蜜桃 | 人妻一区二区三区av| 狠狠躁夜夜躁人人躁婷婷视频| 亚洲精品日韩自慰喷水白浆| 精品国产成人一区二区不卡在线| 亚洲视频在线免费不卡| 久久久无码人妻精品无码| 亚洲va欧美va| 久草视频在线播放免费| 4455永久免费视频| 亚洲国产精品嫩草影院久久| 欧美破处在线观看| 深夜一区二区三区视频在线观看| 97日日碰人人模人人澡| 中文字幕欧美一区| 亚洲综合精品一区二区三区| 亚洲av免费手机在线观看| 丰满熟妇乱又伦| 国产乱子伦农村xxxx| 中国男女黄色完整视频| 少妇被粗大进猛进出处故事| 国产丝袜爆操在线观看| 久久久久成人精品无码中文字幕| 精品性影院一区二区三区内射| 国产青青草视频在线播放| 女色av少妇一区二区三区| 少妇高潮惨叫正在播放对白| 丰满熟妇人妻无码区| 久久国产精品一区av瑜伽| 最新精品国偷自产在线|