篩法求素數python
A. python 中怎麼判斷一個數是否為1
如果這個數是從輸入中得到的,可以用一下判斷
a=input()
ifais'1':
print("Yes,inputnumberis1")
如果在代碼中,1可能是個數字,也可能是字元串,若是數字類型,直接用數字比較
a=1
ifais1:
print("Yes,thenumberis1")
B. python中編程求1到100之間的素數有幾種方法
六種。
方法一: 窮舉法
方法二: 開方減"半"法
方法三:去除偶數法
方法四:使用列表法。
方法五:素數性質法
方法六: 埃拉托斯特尼篩法
拓展資料:Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 於1990 年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python 也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。2021年10月,語言流行指數的編譯器Tiobe將Python加冕為最受歡迎的編程語言,20年來首次將其置於Java、C和JavaScript之上
Python已經成為最受歡迎的程序設計語言之一。自從2004年以後,python的使用率呈線性增長。Python 2於2000年10月16日發布,穩定版本是Python 2.7。Python 3於2008年12月3日發布,不完全兼容Python 2。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。
由於Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計課程。例如卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用Python語言講授。眾多開源的科學計算軟體包都提供了Python的調用介面,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫學圖像處理庫ITK。而Python專用的科學計算擴展庫就更多了,例如如下3個十分經典的科學計算擴展庫:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數組處理、數值運算以及繪圖功能。因此Python語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程序。2018年3月,該語言作者在郵件列表上宣布Python 2.7將於2020年1月1日終止支持。用戶如果想要在這個日期之後繼續得到與Python 2.7有關的支持,則需要付費給商業供應商。
C. python中用while循環計算100到10000的素數
素數的計算方法有很多種。
最樸素的辦法是,用所有小於n但大於1的整數去除n,如果均不能除盡,那麼,n就是素數。這就是篩法的核心。
進一步,除了2之外,所有素數都是奇數,那麼,用於試商的可以只用小於n但大於1的奇素數,並且只對奇數進行試商。
再進一步,如果一個數n可以分解為兩個因數相乘,那麼,至少其中一個因數是不大於n的平方根的,所以,我們可以對奇數n用不小於n的平方根但大於1的奇素數去試商。
到這一步,已經可以用來對一個比較小的數進行進行「是否是素數」的檢查了。麻煩的只是需要建立一個素數表,記錄從小到大我們找到的每一個素數。
參考以下代碼:
素數計算
篩法還有更高的應用方式,比如while中對i不是每次加而是每次加素數表前若干個數的積,如6,30,210中的某一個。(2是第一個素數)這種需要更多的控制,實現復雜,對速度的提升遠沒有隻對奇數試商和只用平方根以下的素數試商的提升大。
除了篩法以外,還有其它的方式去判斷一個數是不是素數,這里就不羅列了。
對於這道練習題,會篩法就足夠了,想進一步提升,你可以在上圖給出的方法的基礎上嘗試用步長為6的循環來做,如果做到了,那麼步長為30或更大的就只是體力活了。