Python語言程序設計筆記——第四周圓周率計算,質數求和

2020-12-05 從零開始圖像處理

圓周率計算方法:近似公式,蒙特卡羅方法

1. 近似公式

pi = 0N = 100for k in range(N) :pi += 1/pow(16,k)*( \ 4/(8*k+1) – 2/(8*k+4) - \ 1/(8*k+5) – 1/(8*k+6))print("圓周率值是: {}".format(pi))

pi = 0N = 100for k in range(N) :pi += 1/pow(16,k)*( \ 4/(8*k+1) – 2/(8*k+4) - \ 1/(8*k+5) – 1/(8*k+6))print("圓周率值是: {}".format(pi))

>>>圓周率值是: 3.141592653589793

python中可以用「\」換行,功能不變

2. 蒙特卡羅方法

蒙特卡羅方法具體內容可以參考:https://baike.baidu.com/item/%E8%92%99%E7%89%B9%C2%B7%E5%8D%A1%E7%BD%97%E6%96%B9%E6%B3%95/8664362?fromtitle=%E8%92%99%E7%89%B9%E5%8D%A1%E7%BD%97%E6%96%B9%E6%B3%95&fromid=214674&fr=aladdin

其大致原理如下圖所示:

將一個圓放在其外接正方形中,取其1/4,在1/4圓和矩形中隨機撒點,根據點落在各個部分的數量確定圓與正方形面積比,根據面積計算圓周率。

from random import randomfrom time import perf_counterDARTS = 1000*1000hits = 0.0start = perf_counter()for i in range(1, DARTS+1):x, y = random(), random() dist = pow(x ** 2 + y ** 2, 0.5) if dist <= 1.0: hits = hits + 1pi = 4 * (hits/DARTS)print("圓周率值是: {}".format(pi))print("運行時間是: {:.5f}s".format(perf_counter()-start))

3. 質數求和

質數(素數)是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。

質數(素數)求和如下,可修改範圍滿足不同的求解需求

a = 0for i in range(2,100):k = i for j in range(2,i): if i%j == 0: k=0 break a += kprint(a)

相關焦點

  • 利用python計算函數與x軸之間的面積
    用數學表達式表示出來就是:也就是求解任意一個函數的絕對值與x軸之間構成的面積,我們以函數sin(x)為例(因為函數sin(x)便於對計算結果進行檢驗),如圖所示:我們用積分的定義來計算,積分就是將函數分成無數的小段,然後對每一小段進行求和處理。
  • Python語言程序設計筆記——第四周random庫
  • Python中判斷數字是否為質數的實例講解
    在本篇文章裡小編給大家分享了關於python中判斷數字是否為質數的實例講解內容,有興趣的朋友們可以學習下。
  • 少兒編程Python第4課-for循環語句(質數判斷)
    實例1:計算1~100求和的結果如果明確的知道循環執行的次數或者要對一個容器進行迭代(後面會講到),那麼我們推薦使用`for-in`循環,例如下面代碼中計算1~100求和的結果。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
  • 用Python完成帶進度條的圓周率計算
    一、圓周率π的簡介   圓周率用希臘字母 π(讀作pài)表示,是一個常數(約等於3.141592654),是代表圓周長和直徑的比值。它是一個即無限不循環小數,在日常生活中,通常都用3.14代表圓周率去進行近似計算。
  • python基礎課程 第5章 奇妙的內建函數
    除了DRF原則之外,用 python 的內建函數還有另一個好處,那就是它通常比我們自己實現得更好,更合理。因為python語言本身是基於C語言實現的,而大部分內建函數均是基於C語言編寫並編譯成二進位的,所以在運算效率上比我們用 python 再實現一遍要高很多。
  • C語言基礎:以實例跟我學while循環結構,計算圓周率pi
    循環結構是程式語言中的一種基本程序結構,C語言中有兩種表示方法,分別可通過for循環和while循環結構實現。上篇文章已經講了for循環的使用方法,詳細請參考:這次通過一個計算圓周率pi的例子給大家介紹C語言中while循環結構的編程方法。
  • python由圓半徑計算圓的周長和面積
    要計算圓的周長和面積,自然而然就要用到圓周率π,在我國,祖衝之在劉徽開創的探索圓周率的精確方法的基礎上,首次將「圓周率」精算到小數第七位,即在3.1415926和3.1415927之間,他提出的「祖率」對數學的研究有重大貢獻。直到16世紀,阿拉伯數學家阿爾·卡西才打破了這一紀錄。
  • Python實例1:圓周率的計算(蒙特卡羅方法)
    圓周率的計算
  • Python語言基本語法元素之語句,表達式、賦值語句
    今天筆者想寫Python語言基本語法元素中的語句語句如圖,程序代碼就是一行行語句。語句,簡單粗糙的理解就是一個句子。在中文,語句就是以句號為分界的句子。在程式語言中,語句,就是擁有完整意義的代碼結構。例如:rate = 1.6375 # 1林吉特=1.6375人民幣賦值語句上面是一行代碼,就是一個語句。
  • 「python學習手冊-筆記」003.數值類型
    003.數值類型本系列文章是我個人學習《python學習手冊(第五版)》的學習筆記,其中大部分內容為該書的總結和個人理解,小部分內容為相關知識點的擴展。非商業用途轉載請註明作者和出處;商業用途請聯繫本人(gaoyang1019@hotmail.com)獲取許可。
  • 為什麼我們總是在計算圓周率π?因為沒有最快,只有更快!
    這個級數求和過程十分精彩,但是如果你也想通過這個公式來求圓周率那就大錯特錯了。雖然理論上,巴塞爾級數的收斂速度不會像萊布尼茲級數一樣出奇地慢,但是也基本上也要計算到10000項,才能精確到小數點3位。所以,如果我來選擇一種算法求解圓周率,這兩大鼎鼎有名的公式第一輪就會被pass掉。
  • 用Python判斷質數的嘗試
    問如何判定117是不是質數呢?我們會考慮分解117。分解的過程其實是將這個數逐個地去試驗性除以2、3、5、……,只要能被整除,那麼就不是質數,如果一直找不到可以整除的數,那麼就是質數。問題一:很明顯,如果輸入的數字是「1」的話,這個程序會輸出:1是質數。因此可以在前面進行輸入數字的判斷。問題二:在數學上,進行質數判斷的計算,不會一直算到N-1這個數,只會算到N/2。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • Python求解1到100之間的質數
    質數,又叫素數,是指一個大於1的自然數,且除了1和它本身外,不能被其他自然數整除的數。換句話說,就是該數除了1和它本身以外,不再有其他的因數。1既不是質數又不是合數。求1到100之間的質數C語言求解如下:#include <stdio.h>#include <stdlib.h>int main(void){int i,j,count;
  • Python成程式語言首選,人工智慧是其最大推力
    2018年,python程式語言榮獲「年度程式語言」稱號!在2018年獲得了最多的排行積分,贏得了3.62%佔比,其次是VisualBasic .NET和Java。Python如今確實已經成為大型程式語言的一部分。
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    從 2018 年起浙江省信息技術教材程式語言將會更換為 Python。2、Python納入山東省的小學教材課程,小學生都開始接觸 Python 語言了。3、Python 將加入全國計算機等級考試!教育部考試中心決定自2018年起,在計算機二級考試加入了「Python語言程序設計」科目。
  • 圓周率的計算依據是什麼?
    在古代的數學史上,圓周率的研究和計算一定程度上反應了當時的數學水平。古希臘阿基米德,阿拉伯的卡西,古印度阿耶波多,古代中國祖衝之和劉徽等等數學家,都致力於圓周率的研究和計算,先後給出了圓周率的估值。劉徽等人使用的是割圓術:使用內接於圓的正多邊形逼近圓,多邊形的邊數越多,其周長與面積也越接近圓。思路很簡單,但其計算量是個不小的挑戰。也似乎在計算前,缺少了對計算的論證。
  • 圓周率計算已經達到數萬億位,為何數學家還在繼續計算圓周率?
    計算圓周率是數學家的興趣,也能檢驗計算機的綜合性能。圓周率算法圓周率是數學中最重要的常數之一,現在的計算機可以很輕鬆地計算圓周率數萬億位,在計算機沒有誕生以前,數學家計算圓周率經歷了幾何算法和分析算法,計算效率非常低。
  • 什麼是Python語言,Python語言可以用來做什麼?
    Python是一種電腦程式設計語言。你可能已經聽說過很多種流行的程式語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網頁編程的JavaScript語言等等。那Python是一種什麼語言?首先,我們普及一下程式語言的基礎知識。