導航:首頁 > 源碼編譯 > 原周律的數學演算法

原周律的數學演算法

發布時間:2022-11-06 23:00:52

❶ 大數據最常用的演算法有哪些

奧地利符號計算研究所(Research Institute for Symbolic Computation,簡稱RISC)的Christoph Koutschan博士在自己的頁面上發布了一篇文章,提到他做了一個調查,參與者大多數是計算機科學家,他請這些科學家投票選出最重要的演算法,以下是這次調查的結果,按照英文名稱字母順序排序。

大數據等最核心的關鍵技術:32個演算法

1、A* 搜索演算法——圖形搜索演算法,從給定起點到給定終點計算出路徑。其中使用了一種啟發式的估算,為每個節點估算通過該節點的最佳路徑,並以之為各個地點排定次序。演算法以得到的次序訪問這些節點。因此,A*搜索演算法是最佳優先搜索的範例。

2、集束搜索(又名定向搜索,Beam Search)——最佳優先搜索演算法的優化。使用啟發式函數評估它檢查的每個節點的能力。不過,集束搜索只能在每個深度中發現最前面的m個最符合條件的節點,m是固定數字——集束的寬度。

3、二分查找(Binary Search)——在線性數組中找特定值的演算法,每個步驟去掉一半不符合要求的數據。

4、分支界定演算法(Branch and Bound)——在多種最優化問題中尋找特定最優化解決方案的演算法,特別是針對離散、組合的最優化。

5、Buchberger演算法——一種數學演算法,可將其視為針對單變數最大公約數求解的歐幾里得演算法和線性系統中高斯消元法的泛化。

6、數據壓縮——採取特定編碼方案,使用更少的位元組數(或是其他信息承載單元)對信息編碼的過程,又叫來源編碼。

7、Diffie-Hellman密鑰交換演算法——一種加密協議,允許雙方在事先不了解對方的情況下,在不安全的通信信道中,共同建立共享密鑰。該密鑰以後可與一個對稱密碼一起,加密後續通訊。

8、Dijkstra演算法——針對沒有負值權重邊的有向圖,計算其中的單一起點最短演算法。

9、離散微分演算法(Discrete differentiation)。

10、動態規劃演算法(Dynamic Programming)——展示互相覆蓋的子問題和最優子架構演算法

11、歐幾里得演算法(Euclidean algorithm)——計算兩個整數的最大公約數。最古老的演算法之一,出現在公元前300前歐幾里得的《幾何原本》。

12、期望-最大演算法(Expectation-maximization algorithm,又名EM-Training)——在統計計算中,期望-最大演算法在概率模型中尋找可能性最大的參數估算值,其中模型依賴於未發現的潛在變數。EM在兩個步驟中交替計算,第一步是計算期望,利用對隱藏變數的現有估計值,計算其最大可能估計值;第二步是最大化,最大化在第一步上求得的最大可能值來計算參數的值。

13、快速傅里葉變換(Fast Fourier transform,FFT)——計算離散的傅里葉變換(DFT)及其反轉。該演算法應用范圍很廣,從數字信號處理到解決偏微分方程,到快速計算大整數乘積。

14、梯度下降(Gradient descent)——一種數學上的最優化演算法。

15、哈希演算法(Hashing)。

16、堆排序(Heaps)。

17、Karatsuba乘法——需要完成上千位整數的乘法的系統中使用,比如計算機代數系統和大數程序庫,如果使用長乘法,速度太慢。該演算法發現於1962年。

18、LLL演算法(Lenstra-Lenstra-Lovasz lattice rection)——以格規約(lattice)基數為輸入,輸出短正交向量基數。LLL演算法在以下公共密鑰加密方法中有大量使用:背包加密系統(knapsack)、有特定設置的RSA加密等等。

19、最大流量演算法(Maximum flow)——該演算法試圖從一個流量網路中找到最大的流。它優勢被定義為找到這樣一個流的值。最大流問題可以看作更復雜的網路流問題的特定情況。最大流與網路中的界面有關,這就是最大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一個流網路中的最大流。

20、合並排序(Merge Sort)。

21、牛頓法(Newton』s method)——求非線性方程(組)零點的一種重要的迭代法。

22、Q-learning學習演算法——這是一種通過學習動作值函數(action-value function)完成的強化學習演算法,函數採取在給定狀態的給定動作,並計算出期望的效用價值,在此後遵循固定的策略。Q-leanring的優勢是,在不需要環境模型的情況下,可以對比可採納行動的期望效用。

23、兩次篩法(Quadratic Sieve)——現代整數因子分解演算法,在實踐中,是目前已知第二快的此類演算法(僅次於數域篩法Number Field Sieve)。對於110位以下的十位整數,它仍是最快的,而且都認為它比數域篩法更簡單。

24、RANSAC——是「RANdom SAmple Consensus」的縮寫。該演算法根據一系列觀察得到的數據,數據中包含異常值,估算一個數學模型的參數值。其基本假設是:數據包含非異化值,也就是能夠通過某些模型參數解釋的值,異化值就是那些不符合模型的數據點。

25、RSA——公鑰加密演算法。首個適用於以簽名作為加密的演算法。RSA在電商行業中仍大規模使用,大家也相信它有足夠安全長度的公鑰。

26、Sch?nhage-Strassen演算法——在數學中,Sch?nhage-Strassen演算法是用來完成大整數的乘法的快速漸近演算法。其演算法復雜度為:O(N log(N) log(log(N))),該演算法使用了傅里葉變換。

27、單純型演算法(Simplex Algorithm)——在數學的優化理論中,單純型演算法是常用的技術,用來找到線性規劃問題的數值解。線性規劃問題包括在一組實變數上的一系列線性不等式組,以及一個等待最大化(或最小化)的固定線性函數。

28、奇異值分解(Singular value decomposition,簡稱SVD)——在線性代數中,SVD是重要的實數或復數矩陣的分解方法,在信號處理和統計中有多種應用,比如計算矩陣的偽逆矩陣(以求解最小二乘法問題)、解決超定線性系統(overdetermined linear systems)、矩陣逼近、數值天氣預報等等。

29、求解線性方程組(Solving a system of linear equations)——線性方程組是數學中最古老的問題,它們有很多應用,比如在數字信號處理、線性規劃中的估算和預測、數值分析中的非線性問題逼近等等。求解線性方程組,可以使用高斯—約當消去法(Gauss-Jordan elimination),或是柯列斯基分解( Cholesky decomposition)。

30、Strukturtensor演算法——應用於模式識別領域,為所有像素找出一種計算方法,看看該像素是否處於同質區域( homogenous region),看看它是否屬於邊緣,還是是一個頂點。

31、合並查找演算法(Union-find)——給定一組元素,該演算法常常用來把這些元素分為多個分離的、彼此不重合的組。不相交集(disjoint-set)的數據結構可以跟蹤這樣的切分方法。合並查找演算法可以在此種數據結構上完成兩個有用的操作:

查找:判斷某特定元素屬於哪個組。

合並:聯合或合並兩個組為一個組。

32、維特比演算法(Viterbi algorithm)——尋找隱藏狀態最有可能序列的動態規劃演算法,這種序列被稱為維特比路徑,其結果是一系列可以觀察到的事件,特別是在隱藏的Markov模型中。

以上就是Christoph博士對於最重要的演算法的調查結果。你們熟悉哪些演算法?又有哪些演算法是你們經常使用的?

❷ 求圓周率的計算方法!要解題思路!

割圓術

劉徽割圓術示意圖片.
割圓術(cyclotomic method) 所謂「割圓術」,是用圓內接正多邊形的周長去無限逼近圓周並以此求取圓周率的方法。 「圜,一中同長也」。意思是說:圓只有一個中心,圓周上每一點到中心的距離相等。早在我國先秦時期,《墨經》上就已經給出了圓的這個定義,而公元前11世紀,我國西周時期數學家商高也曾與周公討論過圓與方的關系。認識了圓,人們也就開始了有關於圓的種種計算,特別是計算圓的面積。我國古代數學經典《九章算術》在第一章「方田」章中寫到「半周半徑相乘得積步」,也就是我們現在所熟悉的公式。 為了證明這個公式,我國魏晉時期數學家劉徽於公元263年撰寫《九章算術注》,在這一公式後面寫了一篇1800餘字的注記,這篇注記就是數學史上著名的「割圓術」。
編輯本段數學意義
「割圓術」,則是以「圓內接正多邊形的周長」,來無限逼近「圓周長」。劉徽形容他的「割圓術」說:割之彌細,所失彌少,割之又割,以至於不可割,則與圓合體,而無所失矣。 即通過圓內接正多邊形細割圓周,並使正多邊形的周長無限接近圓周長,進而來求得較為精確的圓周率。 劉徽發明「割圓術」是為求「圓周率」。那麼圓周率究竟是指什麼呢?它其實就是指「圓周長與該圓直徑的比率」。很幸運,這是個不變的「常數」!我們人類藉助它可以進行關於圓和球體的各種計算。如果沒有它,那麼我們對圓和球體等將束手無策。同樣,圓周率數值的「准確性」,也直接關乎到我們有關計算的准確性和精確度。這就是人類為什麼要求圓周率,而且要求得準的原因。 根據「圓周長/圓直徑=圓周率」,那麼圓周長=圓直徑*圓周率=2*半徑*圓周率(這就是我們熟悉的圓周長=2πr的來由)。因此「圓周長公式」根本就不用背的,只要有小學知識,知道「圓周率的含義」,就可自行推導計算。也許大家都知道「圓周率和π」,但它的「含義及作用」往往被忽略,這也就是割圓術的意義所在。 由於「圓周率=圓周長/圓直徑」,其中「直徑」是直的,好測量;難計算精確的是「圓周長」。而通過劉徽的「割圓術」,這個難題解決了。只要認真、耐心地精算出圓周長,就可得出較為精確的「圓周率」了。——眾所周知,在中國祖沖之最終完成了這個工作。
編輯本段發展歷史
中國古代從先秦時期開始,一直是取「周三徑一」(即圓周周長與直徑的比率為三比一)的數值來進行有關圓的計算。但用這個數值進行計算的結果,往往誤差很大。正如劉徽所說,用「周三徑一」計算出來的圓周長,實際上不是圓的周長而是圓內接正六邊形的周長,其數值要比實際的圓周長小得多。東漢的張衡不滿足於這個結果,他從研究圓與它的外切正方形的關系著手得到圓周率。這個數值比「周三徑一」要好些,但劉徽認為其計算出來的圓周長必然要大於實際的圓周長,也不精確。劉徽以極限思想為指導,提出用「割圓術」來求圓周率,既大膽創新,又嚴密論證,從而為圓周率的計算指出了一條科學的道路。 在劉徽看來,既然用「周三徑一」計算出來的圓周長實際上是圓內接正六邊形的周長,與圓周長相差很多;那麼我們可以在圓內接正六邊形把圓周等分為六條弧的基礎上,再繼續等分,把每段弧再分割為二,做出一個圓內接正十二邊形,這個正十二邊形的周長不就要比正六邊形的周長更接近圓周了嗎?如果把圓周再繼續分割,做成一個圓內接正二十四邊形,那麼這個正二十四邊形的周長必然又比正十二邊形的周長更接近圓周。這就表明,越是把圓周分割得細,誤差就越少,其內接正多邊形的周長就越是接近圓周。如此不斷地分割下去,一直到圓周無法再分割為止,也就是到了圓內接正多邊形的邊數無限多的時候,它的周長就與圓周「合體」而完全一致了。 按照這樣的思路,劉徽把圓內接正多邊形的面積一直算到了正3072邊形,並由此而求得了圓周率 為3.14和 3.1416這兩個近似數值。這個結果是當時世界上圓周率計算的最精確的數據。劉徽對自己創造的這個「割圓術」新方法非常自信,把它推廣到有關圓形計算的各個方面,從而使漢代以來的數學發展大大向前推進了一步。以後到了南北朝時期,祖沖之在劉徽的這一基礎上繼續努力,終於使圓周率精確到了小數點以後的第七位。在西方,這個成績是由法國數學家韋達於1593年取得的,比祖沖之要晚了一千一百多年。祖沖之還求得了圓周率的兩個分數值,一個是「約率」 ,另一個是「密率」.,其中 這個值,在西方是由德國的奧托和荷蘭的安東尼茲在16世紀末才得到的,都比祖沖之晚了一千一百年。劉徽所創立的「割圓術」新方法對中國古代數學發展的重大貢獻,歷史是永遠不會忘記的。
編輯本段基本演算法
根據劉徽的記載,在劉徽之前,人們求證圓面積公式時,是用圓內接正十二邊形的面積來代替圓面積。應用出入相補原理,將圓內接正十二邊形拼補成一個長方形,借用長方形的面積公式來論證《九章算術》的圓面積公式。劉徽指出,這個長方形是以圓內接正六邊形周長的一半作為長,以圓半徑作為高的長方形,它的面積是圓內接正十二邊形的面積。這種論證「合徑率一而弧周率三也」,即後來常說的「周三徑一」,當然不嚴密。他認為,圓內接正多邊形的面積與圓面積都有一個差,用有限次數的分割、拼補,是無法證明《九章算術》的圓面積公式的。因此劉徽大膽地將極限思想和無窮小分割引入了數學證明。他從圓內接正六邊形開始割圓,「割之彌細,所失彌少,割之又割,以至不可割,則與圓周合體,而無所失矣。」也就是說將圓內接正多邊形的邊數不斷加倍,則它們與圓面積的差就越來越小,而當邊數不能再加的時候,圓內接正多邊形的面積的極限就是圓面積。劉徽考察了內接多邊形的面積,也就是它的「冪」,同時提出了「差冪」的概念。「差冪」 是後一次與前一次割圓的差值,可以用圖中陰影部分三角形的面積來表示。同時,它與兩個小黃三角形的面積和相等。劉徽指出,在用圓內接正多邊形逼近圓面積的過程中,圓半徑在正多邊形與圓之間有一段余徑。以余徑乘正多邊形的邊長,即2倍的「差冪」,加到這個正多邊形上,其面積則大於圓面積。這是圓面積的一個上界序列。劉徽認為,當圓內接正多邊形與圓是合體的極限狀態時,「則表無余徑。表無余徑,則冪不外出矣。」就是說,余徑消失了,余徑的長方形也就不存在了。因而,圓面積的這個上界序列的極限也是圓面積。於是內外兩側序列都趨向於同一數值,即,圓面積。 利用圓內接或外切正多邊形,求圓周率近似值的方法,其原理是當正多邊形的邊數增加時,它的邊長和逐漸逼近圓周。早在公元前5世紀,古希臘學者安蒂豐為了研究化圓為方問題就設計一種方法:先作一個圓內接正四邊形,以此為基礎作一個圓內接正八邊形,再逐次加倍其邊數,得到正16邊形、正32邊形等等,直至正多邊形的邊長小到恰與它們各自所在的圓周部分重合,他認為就可以完成化圓為方問題。到公元前3世紀,古希臘科學家阿基米德在《論球和圓柱》一書中利用窮竭法建立起這樣的命題:只要邊數足夠多,圓外切正多邊形的面積與內接正多邊形的面積之差可以任意小。阿基米德又在《圓的度量》一書中利用正多邊形割圓的方法得到圓周率的值小於三又七分之一而大於三又七十分之十 ,還說圓面積與外切正方形面積之比為11:14,即取圓周率等於22/7。公元263年,中國數學家劉徽在《九章算術注》中提出「割圓」之說,他從圓內接正六邊形開始,每次把邊數加倍,直至圓內接正96邊形,算得圓周率為3.14或157/50,後人稱之為徽率。書中還記載了圓周率更精確的值3927/1250(等於3.1416)。劉徽斷言「割之彌細,所失彌少,割之又割,以至於不可割,則與圓合體,而無所失矣」。其思想與古希臘窮竭法不謀而合。割圓術在圓周率計算史上曾長期使用。1610年德國數學家柯倫用2^62邊形將圓周率計算到小數點後35位。1630年格林貝爾格利用改進的方法計算到小數點後39位,成為割圓術計算圓周率的最好結果。分析方法發明後逐漸取代了割圓術,但割圓術作為計算圓周率最早的科學方法一直為人們所稱道。 π=lim(n→∞)1/2*sin(360/n)*n

❸ 大數據常用的各種演算法

我們經常談到的所謂的​​ 數據挖掘 是通過大量的數據集進行排序,自動化識別趨勢和模式並且建立相關性的過程。那現在市面的數據公司都是通過各種各樣的途徑來收集海量的信息,這些信息來自於網站、公司應用、社交媒體、移動設備和不斷增長的物聯網。

比如我們現在每天都在使用的搜索引擎。在自然語言處理領域,有一種非常流行的演算法模型,叫做詞袋模型,即把一段文字看成一袋水果,這個模型就是要算出這袋水果里,有幾個蘋果、幾個香蕉和幾個梨。搜索引擎會把這些數字記下來,如果你想要蘋果,它就會把有蘋果的這些袋子給你。

當我們在網上買東西或是看電影時,網站會推薦一些可能符合我們偏好的商品或是電影,這個推薦有時候還挺准。事實上,這背後的演算法,是在數你喜歡的電影和其他人喜歡的電影有多少個是一樣的,如果你們同時喜歡的電影超過一定個數,就把其他人喜歡、但你還沒看過的電影推薦給你。 搜索引擎和推薦系統 在實際生產環境中還要做很多額外的工作,但是從本質上來說,它們都是在數數。

當數據量比較小的時候,可以通過人工查閱數據。而到了大數據時代,幾百TB甚至上PB的數據在分析師或者老闆的報告中,就只是幾個數字結論而已。 在數數的過程中,數據中存在的信息也隨之被丟棄,留下的那幾個數字所能代表的信息價值,不抵其真實價值之萬一。 過去十年,許多公司花了大價錢,用上了物聯網和雲計算,收集了大量的數據,但是到頭來卻發現得到的收益並沒有想像中那麼多。

所以說我們現在正處於「 數字化一切 」的時代。人們的所有行為,都將以某種數字化手段轉換成數據並保存下來。每到新年,各大網站、App就會給用戶推送上一年的回顧報告,比如支付寶會告訴用戶在過去一年裡花了多少錢、在淘寶上買了多少東西、去什麼地方吃過飯、花費金額超過了百分之多少的小夥伴;航旅縱橫會告訴用戶去年做了多少次飛機、總飛行里程是多少、去的最多的城市是哪裡;同樣的,最後讓用戶知道他的行程超過了多少小夥伴。 這些報告看起來非常酷炫,又冠以「大數據」之名,讓用戶以為是多麼了不起的技術。

實際上,企業對於數據的使用和分析,並不比我們每年收到的年度報告更復雜。已經有30多年歷史的商業智能,看起來非常酷炫,其本質依然是數數,並把數出來的結果畫成圖給管理者看。只是在不同的行業、場景下,同樣的數字和圖表會有不同的名字。即使是最近幾年炙手可熱的大數據處理技術,也不過是可以數更多的數,並且數的更快一些而已。

在大數據處理過程中會用到那些演算法呢?

1、A* 搜索演算法——圖形搜索演算法,從給定起點到給定終點計算出路徑。其中使用了一種啟發式的估算,為每個節點估算通過該節點的較佳路徑,並以之為各個地點排定次序。演算法以得到的次序訪問這些節點。因此,A*搜索演算法是較佳優先搜索的範例。

2、集束搜索(又名定向搜索,Beam Search)——較佳優先搜索演算法的優化。使用啟發式函數評估它檢查的每個節點的能力。不過,集束搜索只能在每個深度中發現最前面的m個最符合條件的節點,m是固定數字——集束的寬度。

3、二分查找(Binary Search)——在線性數組中找特定值的演算法,每個步驟去掉一半不符合要求的數據。

4、分支界定演算法(Branch and Bound)——在多種最優化問題中尋找特定最優化解決方案的演算法,特別是針對離散、組合的最優化。

5、Buchberger演算法——一種數學演算法,可將其視為針對單變數較大公約數求解的歐幾里得演算法和線性系統中高斯消元法的泛化。

6、數據壓縮——採取特定編碼方案,使用更少的位元組數(或是其他信息承載單元)對信息編碼的過程,又叫來源編碼。

7、Diffie-Hellman密鑰交換演算法——一種加密協議,允許雙方在事先不了解對方的情況下,在不安全的通信信道中,共同建立共享密鑰。該密鑰以後可與一個對稱密碼一起,加密後續通訊。

8、Dijkstra演算法——針對沒有負值權重邊的有向圖,計算其中的單一起點最短演算法。

9、離散微分演算法(Discrete differentiation)。

10、動態規劃演算法(Dynamic Programming)——展示互相覆蓋的子問題和最優子架構演算法

11、歐幾里得演算法(Euclidean algorithm)——計算兩個整數的較大公約數。最古老的演算法之一,出現在公元前300前歐幾里得的《幾何原本》。

12、期望-較大演算法(Expectation-maximization algorithm,又名EM-Training)——在統計計算中,期望-較大演算法在概率模型中尋找可能性較大的參數估算值,其中模型依賴於未發現的潛在變數。EM在兩個步驟中交替計算,第一步是計算期望,利用對隱藏變數的現有估計值,計算其較大可能估計值;第二步是較大化,較大化在第一步上求得的較大可能值來計算參數的值。

13、快速傅里葉變換(Fast Fourier transform,FFT)——計算離散的傅里葉變換(DFT)及其反轉。該演算法應用范圍很廣,從數字信號處理到解決偏微分方程,到快速計算大整數乘積。

14、梯度下降(Gradient descent)——一種數學上的最優化演算法。

15、哈希演算法(Hashing)。

16、堆排序(Heaps)。

17、Karatsuba乘法——需要完成上千位整數的乘法的系統中使用,比如計算機代數系統和大數程序庫,如果使用長乘法,速度太慢。該演算法發現於1962年。

18、LLL演算法(Lenstra-Lenstra-Lovasz lattice rection)——以格規約(lattice)基數為輸入,輸出短正交向量基數。LLL演算法在以下公共密鑰加密方法中有大量使用:背包加密系統(knapsack)、有特定設置的RSA加密等等。

19、較大流量演算法(Maximum flow)——該演算法試圖從一個流量網路中找到較大的流。它優勢被定義為找到這樣一個流的值。較大流問題可以看作更復雜的網路流問題的特定情況。較大流與網路中的界面有關,這就是較大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一個流網路中的較大流。

20、合並排序(Merge Sort)。

21、牛頓法(Newton's method)——求非線性方程(組)零點的一種重要的迭代法。

22、Q-learning學習演算法——這是一種通過學習動作值函數(action-value function)完成的強化學習演算法,函數採取在給定狀態的給定動作,並計算出期望的效用價值,在此後遵循固定的策略。Q-leanring的優勢是,在不需要環境模型的情況下,可以對比可採納行動的期望效用。

23、兩次篩法(Quadratic Sieve)——現代整數因子分解演算法,在實踐中,是目前已知第二快的此類演算法(僅次於數域篩法Number Field Sieve)。對於110位以下的十位整數,它仍是最快的,而且都認為它比數域篩法更簡單。

24、RANSAC——是「RANdom SAmple Consensus」的縮寫。該演算法根據一系列觀察得到的數據,數據中包含異常值,估算一個數學模型的參數值。其基本假設是:數據包含非異化值,也就是能夠通過某些模型參數解釋的值,異化值就是那些不符合模型的數據點。

25、RSA——公鑰加密演算法。較早的適用於以簽名作為加密的演算法。RSA在電商行業中仍大規模使用,大家也相信它有足夠安全長度的公鑰。

26、Schönhage-Strassen演算法——在數學中,Schönhage-Strassen演算法是用來完成大整數的乘法的快速漸近演算法。其演算法復雜度為:O(N log(N) log(log(N))),該演算法使用了傅里葉變換。

27、單純型演算法(Simplex Algorithm)——在數學的優化理論中,單純型演算法是常用的技術,用來找到線性規劃問題的數值解。線性規劃問題包括在一組實變數上的一系列線性不等式組,以及一個等待較大化(或最小化)的固定線性函數。

28、奇異值分解(Singular value decomposition,簡稱SVD)——在線性代數中,SVD是重要的實數或復數矩陣的分解方法,在信號處理和統計中有多種應用,比如計算矩陣的偽逆矩陣(以求解最小二乘法問題)、解決超定線性系統(overdetermined linear systems)、矩陣逼近、數值天氣預報等等。

29、求解線性方程組(Solving a system of linear equations)——線性方程組是數學中最古老的問題,它們有很多應用,比如在數字信號處理、線性規劃中的估算和預測、數值分析中的非線性問題逼近等等。求解線性方程組,可以使用高斯—約當消去法(Gauss-Jordan elimination),或是柯列斯基分解( Cholesky decomposition)。

30、Strukturtensor演算法——應用於模式識別領域,為所有像素找出一種計算方法,看看該像素是否處於同質區域( homogenous region),看看它是否屬於邊緣,還是是一個頂點。

31、合並查找演算法(Union-find)——給定一組元素,該演算法常常用來把這些元素分為多個分離的、彼此不重合的組。不相交集(disjoint-set)的數據結構可以跟蹤這樣的切分方法。合並查找演算法可以在此種數據結構上完成兩個有用的操作:

查找:判斷某特定元素屬於哪個組。

合並:聯合或合並兩個組為一個組。

32、維特比演算法(Viterbi algorithm)——尋找隱藏狀態最有可能序列的動態規劃演算法,這種序列被稱為維特比路徑,其結果是一系列可以觀察到的事件,特別是在隱藏的Markov模型中。

❹ 圓周率計算已經達到數萬億位,為何還在繼續計算

計算圓周率是數學家的興趣,也能檢驗計算機的綜合性能。

圓周率演算法

圓周率是數學中最重要的常數之一,現在的計算機可以很輕松地計算圓周率數萬億位,在計算機沒有誕生以前,數學家計算圓周率經歷了幾何演算法和分析演算法,計算效率非常低。

❺ 園周律是怎麼得來的

圓周率是一個極其馳名的數。從有文字記載的歷史開始,這個數就引進了外行人和學者們的興趣。作為一個非常重要的常數,圓周率最早是出於解決有關圓的計算問題。僅憑這一點,求出它的盡量准確的近似值,就是一個極其迫切的問題了。事實也是如此,幾千年來作為數學家們的奮斗目標,古今中外一代一代的數學家為此獻出了自己的智慧和勞動。回顧歷史,人類對 π 的認識過程,反映了數學和計算技術發展情形的一個側面。 π 的研究,在一定程度上反映這個地區或時代的數學水平。德國數學史家康托說:"歷史上一個國家所算得的圓周率的准確程度,可以作為衡量這個國家當時數學發展水平的指標。"直到19世紀初,求圓周率的值應該說是數學中的頭號難題。為求得圓周率的值,人類走過了漫長而曲折的道路,它的歷史是饒有趣味的。我們可以將這一計算歷程分為幾個階段。

實驗時期

通過實驗對 π 值進行估算,這是計算 π 的的第一階段。這種對 π 值的估算基本上都是以觀察或實驗為根據,是基於對一個圓的周長和直徑的實際測量而得出的。在古代世界,實際上長期使用 π =3這個數值。最早見於文字記載的有基督教《聖經》中的章節,其上取圓周率為3。這一段描述的事大約發生在公元前950年前後。其他如巴比倫、印度、中國等也長期使用3這個粗略而簡單實用的數值。在我國劉徽之前"圓徑一而周三"曾廣泛流傳。我國第一部《周髀算經》中,就記載有圓"周三徑一"這一結論。在我國,木工師傅有兩句從古流傳下來的口訣:叫做:"周三徑一,方五斜七",意思是說,直徑為1的圓,周長大約是3,邊長為5的正方形,對角線之長約為7。這正反映了早期人們對圓周率 π 和√2 這兩個無理數的粗略估計。東漢時期官方還明文規定圓周率取3為計算面積的標准。後人稱之為"古率"。

早期的人們還使用了其它的粗糙方法。如古埃及、古希臘人曾用穀粒擺在圓形上,以數粒數與方形對比的方法取得數值。或用勻重木板鋸成圓形和方形以秤量對比取值……由此,得到圓周率的稍好些的值。如古埃及人應用了約四千年的 4 (8/9)2 = 3.1605。在印度,公元前六世紀,曾取 π= √10 = 3.162。在我國東、西漢之交,新朝王莽令劉歆製造量的容器――律嘉量斛。劉歆在製造標准容器的過程中就需要用到圓周率的值。為此,他大約也是通過做實驗,得到一些關於圓周率的並不劃一的近似值。現在根據銘文推算,其計算值分別取為3.1547,3.1992,3.1498,3.2031比徑一周三的古率已有所進步。人類的這種探索的結果,當主要估計圓田面積時,對生產沒有太大影響,但以此來製造器皿或其它計算就不合適了。

幾何法時期

憑直觀推測或實物度量,來計算 π 值的實驗方法所得到的結果是相當粗略的。

真正使圓周率計算建立在科學的基礎上,首先應歸功於阿基米德。他是科學地研究這一常數的第一個人,是他首先提出了一種能夠藉助數學過程而不是通過測量的、能夠把 π 的值精確到任意精度的方法。由此,開創了圓周率計算的第二階段。

圓周長大於內接正四邊形而小於外切正四邊形,因此 2√2 < π < 4 。
當然,這是一個差勁透頂的例子。據說阿基米德用到了正96邊形才算出他的值域。

阿基米德求圓周率的更精確近似值的方法,體現在他的一篇論文《圓的測定》之中。在這一書中,阿基米德第一次創用上、下界來確定 π 的近似值,他用幾何方法證明了"圓周長與圓直徑之比小於 3+(1/7) 而大於 3 + (10/71) ",他還提供了誤差的估計。重要的是,這種方法從理論上而言,能夠求得圓周率的更准確的值。到公元150年左右,希臘天文學家托勒密得出 π =3.1416,取得了自阿基米德以來的巨大進步。

割圓術。不斷地利用勾股定理,來計算正N邊形的邊長。

在我國,首先是由數學家劉徽得出較精確的圓周率。公元263年前後,劉徽提出著名的割圓術,得出 π =3.14,通常稱為"徽率",他指出這是不足近似值。雖然他提出割圓術的時間比阿基米德晚一些,但其方法確有著較阿基米德方法更美妙之處。割圓術僅用內接正多邊形就確定出了圓周率的上、下界,比阿基米德用內接同時又用外切正多邊形簡捷得多。另外,有人認為在割圓術中劉徽提供了一種絕妙的精加工辦法,以致於他將割到192邊形的幾個粗糙的近似值通過簡單的加權平均,竟然獲得具有4位有效數字的圓周率 π =3927/1250 =3.1416。而這一結果,正如劉徽本人指出的,如果通過割圓計算得出這個結果,需要割到3072邊形。這種精加工方法的效果是奇妙的。這一神奇的精加工技術是割圓術中最為精彩的部分,令人遺憾的是,由於人們對它缺乏理解而被長期埋沒了。

恐怕大家更加熟悉的是祖沖之所做出的貢獻吧。對此,《隋書·律歷志》有如下記載:"宋末,南徐州從事祖沖之更開密法。以圓徑一億為丈,圓周盈數三丈一尺四寸一分五厘九毫二秒七忽,朒數三丈一尺四寸一分五厘九毫二秒六忽,正數在盈朒二限之間。密率:圓徑一百一十三,圓周三百五十五。約率,圓徑七,周二十二。"

這一記錄指出,祖沖之關於圓周率的兩大貢獻。其一是求得圓周率

3.1415926 < π < 3.1415927

其二是,得到 π 的兩個近似分數即:約率為22/7;密率為355/113。

他算出的 π 的8位可靠數字,不但在當時是最精密的圓周率,而且保持世界記錄九百多年。以致於有數學史家提議將這一結果命名為"祖率"。

這一結果是如何獲得的呢?追根溯源,正是基於對劉徽割圓術的繼承與發展,祖沖之才能得到這一非凡的成果。因而當我們稱頌祖沖之的功績時,不要忘記他的成就的取得是因為他站在數學偉人劉徽的肩膀上的緣故。後人曾推算若要單純地通過計算圓內接多邊形邊長的話,得到這一結果,需要算到圓內接正12288邊形,才能得到這樣精確度的值。祖沖之是否還使用了其它的巧妙辦法來簡化計算呢?這已經不得而知,因為記載其研究成果的著作《綴術》早已失傳了。這在中國數學發展史上是一件極令人痛惜的事。

中國發行的祖沖之紀念郵票

祖沖之的這一研究成果享有世界聲譽:巴黎"發現宮"科學博物館的牆壁上著文介紹了祖沖之求得的圓周率,莫斯科大學禮堂的走廊上鑲嵌有祖沖之的大理石塑像,月球上有以祖沖之命名的環形山……

對於祖沖之的關於圓周率的第二點貢獻,即他選用兩個簡單的分數尤其是用密率來近似地表示 π 這一點,通常人們不會太注意。然而,實際上,後者在數學上有更重要的意義。

密率與 π 的近似程度很好,但形式上卻很簡單,並且很優美,只用到了數字1、3、5。數學史家梁宗巨教授驗證出:分母小於16604的一切分數中,沒有比密率更接近 π 的分數。在國外,祖沖之死後一千多年,西方人才獲得這一結果。

可見,密率的提出是一件很不簡單的事情。人們自然要追究他是採用什麼辦法得到這一結果的呢?他是用什麼辦法把圓周率從小數表示的近似值化為近似分數的呢?這一問題歷來為數學史家所關注。由於文獻的失傳,祖沖之的求法已不為人知。後人對此進行了各種猜測。

讓我們先看看國外歷史上的工作,希望能夠提供出一些信息。

1573年,德國人奧托得出這一結果。他是用阿基米德成果22/7與托勒密的結果377/120用類似於加成法"合成"的:(377-22) / (120-7) = 355/113。

1585年,荷蘭人安托尼茲用阿基米德的方法先求得:333/106 < π < 377/120,用兩者作為 π 的母近似值,分子、分母各取平均,通過加成法獲得結果:3 ((15+17)/(106+120) = 355/113。

兩個雖都得出了祖沖之密率,但使用方法都為偶合,無理由可言。

在日本,十七世紀關孝和重要著作《括要演算法》卷四中求圓周率時創立零約術,其實質就是用加成法來求近似分數的方法。他以3、4作為母近似值,連續加成六次得到祖沖之約率,加成一百十二次得到密率。其學生對這種按部就班的笨辦法作了改進,提出從相鄰的不足、過剩近似值就近加成的辦法,(實際上就是我們前面已經提到的加成法)這樣從3、4出發,六次加成到約率,第七次出現25/8,就近與其緊鄰的22/7加成,得47/15,依次類推,只要加成23次就得到密率。

錢宗琮先生在《中國算學史》(1931年)中提出祖沖之採用了我們前面提到的由何承天首創的"調日法"或稱加權加成法。他設想了祖沖之求密率的過程:以徽率157/50,約率22/7為母近似值,並計算加成權數x=9,於是 (157 + 22×,9) / (50+7×9) = 355/113,一舉得到密率。錢先生說:"沖之在承天後,用其術以造密率,亦意中事耳。"

另一種推測是:使用連分數法。

由於求二自然數的最大公約數的更相減損術遠在《九章算術》成書時代已流行,所以藉助這一工具求近似分數應該是比較自然的。於是有人提出祖沖之可能是在求得盈 二數之後,再使用這個工具,將3.14159265表示成連分數,得到其漸近分數:3,22/7,333/106,355/113,102573/32650…

最後,取精確度很高但分子分母都較小的355/113作為圓周率的近似值。至於上面圓周率漸近分數的具體求法,這里略掉了。你不妨利用我們前面介紹的方法自己求求看。英國李約瑟博士持這一觀點。他在《中國科學技術史》卷三第19章幾何編中論祖沖之的密率說:"密率的分數是一個連分數漸近數,因此是一個非凡的成就。"

❻ 圓周率的計算方法

計算方法

圓周率
古人計算圓周率,一般是用割圓法。即用圓的內接或外切正多邊形來逼近圓的周長。阿基米德用正96邊形得到圓周率小數點後3位的精度;劉徽用正3072邊形得到5位精度;魯道夫用正262邊形得到了35位精度。這種基於幾何的演算法計算量大,速度慢,吃力不討好。隨著數學的發展,數學家們在進行數學研究時有意無意地發現了許多計算圓周率的公式。下面挑選一些經典的常用公式加以介紹。除了這些經典公式外,還有很多其它公式和由這些經典公式衍生出來的公式,就不一一列舉了。 1、馬青公式 π=16arctan1/5-4arctan1/239 這個公式由英國天文學教授約翰·馬青於1706年發現。他利用這個公式計算到了100位的圓周率。馬青公式每計算一項可以得到1.4位的十進制精度。因為它的計算過程中被乘數和被除數都不大於長整數,所以可以很容易地在計算機上編程實現。 還有很多類似於馬青公式的反正切公式。在所有這些公式中,馬青公式似乎是最快的了。雖然如此,如果要計算更多的位數,比如幾千萬位,馬青公式就力不從心了。 2、拉馬努金公式 1914年,印度天才數學家拉馬努金在他的論文里發表了一系列共14條圓周率的計算公式。這個公式每計算一項可以得到8位的十進制精度。1985年Gosper用這個公式計算到了圓周率的17,500,000位。 1989年,大衛·丘德諾夫斯基和格雷高里·丘德諾夫斯基兄弟將拉馬努金公式改良,這個公式被稱為丘德諾夫斯基公式,每計算一項可以得到15位的十進制精度。1994年丘德諾夫斯基兄弟利用這個公式計算到了4,044,000,000位。丘德諾夫斯基公式的另一個更方便於計算機編程的形式是: 3、AGM(Arithmetic-Geometric Mean)演算法 高斯-勒讓德公式:
圓周率
這個公式每迭代一次將得到雙倍的十進制精度,比如要計算100萬位,迭代20次就夠了。1999年9月,日本的高橋大介和金田康正用這個演算法計算到了圓周率的206,158,430,000位,創出新的世界紀錄。 4、波爾文四次迭代式: 這個公式由喬納森·波爾文和彼得·波爾文於1985年發表的。 5、ley-borwein-plouffe演算法 這個公式簡稱BBP公式,由David Bailey, Peter Borwein和Simon Plouffe於1995年共同發
丘德諾夫斯基公式
表。它打破了傳統的圓周率的演算法,可以計算圓周率的任意第n位,而不用計算前面的n-1位。這為圓周率的分布式計算提供了可行性。 6.丘德諾夫斯基公式 這是由丘德諾夫斯基兄弟發現的,十分適合計算機編程,是目前計算機使用較快的一個公式。以下是這個公式的一個簡化版本: 7.萊布尼茨公式 π/4=1-1/3+1/5-1/7+1/9-1/11+……

❼ 最早計算出圓周率的人是誰

最早計算出圓周率的人是祖沖之。祖沖之算出圓周率(π)的真值在3.1415926和3.1415927之間,相當於精確到小數第7位,簡化成3.1415926,祖沖之因此入選世界紀錄協會世界第一位將圓周率值計算到小數第7位的科學家。

(7)原周律的數學演算法擴展閱讀

祖沖之(429-500),字文遠。出生於建康(今南京),祖籍范陽郡遒縣(今河北淶水縣),中國南北朝時期傑出的數學家、天文學家。

祖沖之一生鑽研自然科學,其主要貢獻在數學、天文歷法和機械製造三方面。他在劉徽開創的探索圓周率的精確方法的基礎上,首次將「圓周率」精算到小數第七位,即在3.1415926和3.1415927之間,他提出的「祖率」對數學的研究有重大貢獻。直到16世紀,阿拉伯數學家阿爾·卡西才打破了這一紀錄。

由他撰寫的《大明歷》是當時最科學最進步的歷法,對後世的天文研究提供了正確的方法。其主要著作有《安邊論》《綴術》《述異記》《歷議》等。

西晉末期,北方發生大規模戰亂,祖沖之的先輩從河北遷徙到江南,並在江南定居下來。祖沖之就出生在江南,其祖父祖昌任劉宋朝大匠卿,是朝廷管理土木工程的官吏,父親祖朔之做「奉朝請」,學識淵博,常被邀請參加皇室的典禮、宴會。

祖沖之從小就受到很好的家庭教育。爺爺給他講「斗轉星移」,父親領他讀經書典籍,家庭的熏陶,耳濡目染,加之自己的勤奮,使他對自然科學和文學、哲學,特別是天文學產生了濃厚的興趣,在青年時代就有了博學的名聲。

❽ 你還知道哪些中國古代計算方法一記算方法

在人類文明發展的歷史上中國曾經在早期計算工具的發明創造方面寫過光輝的一頁。遠在商代,中國就創造了十進制記數方法,領先於世界千餘年。

到了周代,發明了當時最先進的計算工具——算籌。這是一種用竹、木或骨製成的顏色不同的小棍。計算每一個數學問題時,通常編出一套歌訣形式的演算法,一邊計算,一邊不斷地重新布棍。中國古代數學家祖沖之,就是用算籌計算出圓周率在3.1415926和3.1415927之間。這一結果比西方早一千年。

珠算盤是中國的又一獨創,也是計算工具發展史上的第一項重大發明。這種輕巧靈活、攜帶方便、與人民生活關系密切的計算工具,最初大約出現於漢朝,到元朝時漸趨成熟。珠算盤不僅對中國經濟的發展起過有益的作用,而且傳到日本、朝鮮、東南亞等地區,經受了歷史的考驗,至今仍在使用。

中國發明創造指南車、水運渾象儀、記里鼓車、提花機等,不僅對自動控制機械的發展有卓越的貢獻,而且對計算工具的演進產生了直接或間接的影響。例如,張衡製作的水運渾象儀,可以自動地與地球運轉同步,後經唐、宋兩代的改進,遂成為世界上最早的天文鍾

記里鼓車則是世界上最早的自動計數裝置。提花機原理對計算機程序控制的發展有過間接的影響。中國古代用陽、陰兩爻構成八卦,也對計算技術的發展有過直接的影響。萊布尼茲寫過研究八卦的論文,系統地提出了二進制算術運演算法則。他認為,世界上最早的二進製表示法就是中國的八卦。

❾ 圓周率是誰發明的 歷史上圓周率的發明人是誰

1965年,英國數學家約翰·沃利斯(John Wallis)出版了一本數學專著,其中他推導出一個公式,發現圓周率等於無窮個分數相乘的積。2015年,羅切斯特大學的科學家們在氫原子能級的量子力學計算中發現了圓周率相同的公式

❿ 傳說橫式演算法是一題十解,是真的嗎

(1):兩鼠穿垣
今有垣厚五尺,兩鼠對穿。大鼠日一尺,小鼠亦一尺。大鼠日自倍,小鼠日自半。問:何日相逢?各穿幾何?
題意是:有垛厚五尺(舊制長度單位,1尺=10寸)的牆壁,大小兩只老鼠同時從牆的兩面,沿一直線相對打洞。大鼠第一天打進1尺,以後每天的進度為前一天的2倍;小鼠第一天也打進1尺,以後每天的進度是前一天的一半。它們幾天可以相遇?相遇時各打進了多少?
此題刊於我國著名的古典數學名著《九章算術》一書的「盈不足」一章中。《九章算術》成書大約在公元一世紀,由於年代久遠,它的作者以及准確的成書年代,至今尚未能考證出來。該書是採用羅列一個個數學問題的形式編排的。全書共收集了246道數學題,分成九大類,即九章,所以稱為《九章算術》。
解答本題並不十分繁難,請你試一試。

(2)韓信點兵
傳說漢朝大將韓信用一種特殊方法清點士兵的人數。他的方法是:讓士兵先列成三列縱隊(每行三人),再列成五列縱隊(每行五人),最後列成七列縱隊(每行七人)。他只要知道這隊士兵大約的人數,就可以根據這三次列隊排在最後一行的士兵是幾個人,而推算出這隊士兵的准確人數。如果韓信當時看到的三次列隊,最後一行的士兵人數分別是2人、2人、4人,並知道這隊士兵約在三四百人之間,你能很快推算出這隊士兵的人數嗎?

(3)和尚分饅頭
我國明代珠算家程大位的名著《直指演算法統宗》里有一道著名算題:
一百饅頭一百僧,
大僧三個更無爭,
小僧三人分一個,
大小和尚各幾丁?"
如果譯成白話文,其意思是:有100個和尚分100隻饅頭,正好分完。如果大和尚一人分3隻,小和尚3人分一隻,試問大、小和尚各有幾人?
方法一,用方程解:
解:設大和尚有x人,則小和尚有(100-x)人,根據題意列得方程:
3x+1/3(100-x)=100
解方程得:x=25
小和尚:100-25=75人
方法二,雞兔同籠法:
(1)假設100人全是大和尚,應吃饅頭多少個?
3×100=300(個).
(2)這樣多吃了幾個呢?
300-100=200(個).
(3)為什麼多吃了200個呢?這是因為把小和尚當成大和尚。那麼把小和尚當成大和尚時,每個小和尚多算了幾個饅頭?
3-1/3=8/3
(4)每個小和尚多算了8/3個饅頭,一共多算了200個,所以小和尚有:
200÷8/3=75(人)
大和尚:100-75=25(人)
方法三,分組法:
由於大和尚一人分3隻饅頭,小和尚3人分一隻饅頭。我們可以把3個小和尚與1個大和尚編為一組,這樣每組4個和尚剛好分4個饅頭,那麼100個和尚總共分為100÷(3+1)=25組,因為每組有1個大和尚,所以有25個大和尚;又因為每組有3個小和尚,所以有25×3=75個小和尚這是《直指演算法統宗》里的解法,原話是:"置僧一百為實,以三一並得四為法除之,得大僧二十五個。"所謂"實"便是"被除數","法"便是"除數"。列式就是:
100÷(3+1)=25,100-25=75。我國古代勞動人民的智慧由此可見一斑。

(4). 以碗知僧
有一位婦女在河邊洗碗,過路人問她為什麼洗這么多碗?她回答說:家中來了很多客人,他們每兩人合用一隻飯碗,每三人合用一隻湯碗,每四人合用一隻菜碗,共用了碗65隻。你能從她家的用碗情況,算出她家來了多少客人嗎?

(5). 百錢問題
今有雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。凡百錢買雞百隻。問雞翁母雛各幾何?
相傳在南北朝時期(公元 386 年——公元 589 年),我國北方出了一個「神童」,他反映敏捷,計算能力超群,許多連大人一時也難以解答的問題,他一下子就給算出來了。遠遠近近的人都喜歡找他計算數學問題。

「神童」的名氣越來越大,傳到當時宰相的耳中。有一天,宰相為了弄清「神童」是真是假,特地把「神童」的父親叫了去,給了他 100 文錢,讓第二天帶 100 只雞來。並規定 100 只雞中公雞、母雞和小雞都要有,而且不準多,也不準少,一定要剛好百錢百雞。
當時,買 1 只公雞 5 文錢,買 1 只母雞 3 文錢,買 3 只小雞才 1 文錢。怎樣才能湊成百錢百雞呢?「神童」想了一會,告訴父親說,只要送 4 只公雞、 18 只母雞和 78 只小雞就行了。
第二天,宰相見到送來的雞正好滿足百錢百雞,大為驚奇。他想了一下,又給了 100 文錢,讓明天再送 100 只雞來,還規定不準只有 4 只公雞。
這個問題也沒有難住「神童」。他想了一會,叫父親送 8 只公雞、 11 只母雞和 81 只小雞去。還告訴父親說,遇到類似問題,只要怎樣怎樣就行了。第二天,宰相見到了送來的 100 只雞,贊嘆不已。他又給了 100 文錢,要求下次再送 100 只雞來。
豈料才一會兒,「神童」的父親就送來了 100 只雞。宰相一數:公雞 12 只、母雞 4 只、小雞 84 只,正好又滿足百錢百雞……。
這個「神童」就是張丘建。他繼續勤奮學習,終於成為一個著名的數學家。他的名著《張丘建算經》里,最後一個題目就是這個有趣的「百雞問題」。

「百雞問題」是一個不定方程問題。 X+y+z=100
設買公雞、母雞和小雞分別為 x 、 y 、 z 只,依題意可得方程組: 5x+3y+ 1/3z=100
另外再設一個整數參數 k ,就有: x=4k , y=25 - 7k , z=75+3k 。
因為雞數 x 、 y 、 z 都只能是正數,所以滿足這組式子的 k 值只能是 1 、 2 、 3 。分別用 1 、 2 、 3 去替代式子中的 k ,算出的答案正好與張丘建的一模一樣。
在張丘建生活的那個年代,人們還不會列出方程組,那麼,他又是怎樣算出題目的幾個答案的呢?
原來,張丘建發現了一個秘密: 4 只公雞值 20 文錢, 3 只小雞值 1 文錢,合起來雞數是 7 ,錢數是 21 ;而 7 只母雞呢,雞數是 7 ,錢數也是 21 。如果少買 7 只母雞,就可以用這筆錢多買 4 只公雞和 3 只小雞。這樣,百雞仍是百雞,百錢仍是百錢。所以,只要只有求出一個答案,根據這種法則,馬上就可以求出其它的答案來。
這就是馳名中外的「百雞術」。

(6).元代數學家朱世傑於1303年編著的《四元玉鑒》中有這樣一道題目:

九百九十九文錢,及時梨果買一千,

一十一文梨九個,七枚果子四文錢。

問:梨果多少價幾何?

答案:梨有657個,共803文錢,果有343個,共196文錢。

(7). 百羊問題
《演算法統宗》里的問題《演算法統宗》是中國古代數學著作之一。書里有這樣一題:
甲牽一隻肥羊走過來問牧羊人:「你趕的這群羊大概有100隻吧」,牧羊人答:「如果這群羊加上一倍,再加上原來這群羊的一半,又加上原來這群羊的1/4,連你牽著的這只肥羊也算進去,才剛好湊滿一百隻。」請您算算這只牧羊人趕的這群羊共有多少只?

(8)李白買酒
我國唐代的天文學家、數學家張逐曾以「李白喝酒」為題材編了一道算題:「李白街上走,提壺去買酒。遇店加一倍,見花喝一斗(斗是古代酒具,也可作計量單位)。三遇店和花,喝光壺中酒,原有多少酒?」
解題方法:壺中原有酒量是要求的,並告訴了壺中酒的變化及最後結果--三遍成倍添(乘以2)定量減(減肥斗)而光。求解這個問題,一般以變化後的結果出發,利用乘與除、加與減的互逆關系,逐步逆推還原。"三遇店和花,喝光壺中酒",可見三遇花時壺中有酒巴斗,則三遇店時有酒巴1÷2斗,那麼,二遇花時有酒1÷2+1斗,二遇店有酒(1÷2+1)÷2斗,於是一遇花時有酒(1÷2+1)÷2+1斗,一遇店時有酒,即壺中原有酒的計算式為

[(1÷2+1)÷2+1] ÷2=7/8(斗)

故壺中原有7/8斗酒。

以上解法的要點在於逆推還原,這種思路也可用示意圖或線段圖表示出來。

當然,若用代數方法來解,這題數量關系更明確。設壺中原有酒x斗,據題意列方程

2[2(2x-1)-1] -1=0

解之,得x=7/8(斗)

(9)浮屠增級
在明朝程大位<<演算法統宗》中,有這樣的一首歌謠,叫做浮屠增級歌。
遠看巍巍塔七層 紅光點點倍加倍
共燈三百八十一 請問尖頭幾盞燈
這首古詩描述的這個寶塔,其古稱浮屠。本題說它一共有七層寶塔,每層懸掛的紅燈數是上一層的2倍,問這個塔頂有幾盞燈
答曰:頂層三盞浮屠就是佛塔.本題是說,遠處有一座雄偉的佛塔,塔上掛滿了許多紅燈,下一層燈數是上一層燈數的2倍,全塔共有381盞,試問頂層有幾盞燈?
首先列出各層燈數的比是 1:2:4:8:16:32:64 其總和為了+2+4+8+16+31+64=127 即把總燈數分成127份,一份的燈數是 361/127=3,這就是頂層的燈數.
解:設一層x
x+2x+4x+8x+16x+32x+64x=381
127x=381
x=3
8x=24
答:第四層24紅燈

(10)物不知數
我國古代數學名著<孫子算經>中有這樣一道有關自然數的題,
今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二.問物幾何?
翻譯:一個數被3除於2,被5除3,被7除2.求這個數.
請你解釋一下這個數是幾?
孫子算經>的解決方法大體是這樣的,
先求被3/2,同時能被5,7都整除的數,最小為140.
在求被5/3,同時能被3,7都整除的數,最小為63.
最後求被7/2,同時能被3,5整除的數,最小為30.
於是數140+63+30=233,就是一個所需求的數,.
它減去或加上3,5,7的最小公倍數的105倍數,比如233-210=23.
233+105=388,......也是符合要求的數,所以符合要求的數有無限個.最小的是23.

閱讀全文

與原周律的數學演算法相關的資料

熱點內容
php函數的返回值嗎 瀏覽:584
國企穩定程序員 瀏覽:325
編程貓如何使用教程視頻 瀏覽:216
安卓遠端網頁如何打日誌 瀏覽:216
壓縮flash大小 瀏覽:991
解壓的玩具教程可愛版 瀏覽:366
哪個求職app比較靠譜 瀏覽:888
java的讀法 瀏覽:59
nod32區域網伺服器地址 瀏覽:1002
數碼科技解壓 瀏覽:235
新網的雲伺服器管理界面復雜嗎 瀏覽:367
無人聲解壓強迫症視頻 瀏覽:571
計算機編譯運行 瀏覽:639
單片機嵌套 瀏覽:988
python字元串中符號 瀏覽:787
python正則表達式貪婪模式 瀏覽:649
愛國精神指的是什麼app 瀏覽:408
壽司解壓系列全集視頻 瀏覽:913
物體三維重建演算法 瀏覽:984
fuli直播app哪個好 瀏覽:918