Numpy攻略:用埃氏篩篩選
埃氏篩:篩選質數的一種演算法,用迭代的方式識別出已經找到的質數的倍數,能高效地篩選出小於一千萬的質數。讓我們去試著尋找10001個質數。
具體步驟如下:
1.建立一個連續的整數列表:用arange函式
2.篩選出p的倍數
完整程式碼如下圖:
import numpy LIM=10**6 N=10**9 P=10001 primes=[] p=2 #通過列出前6個質數:2,3,5,7,11,13,我們看到第6個質數是13 #第10001個質數是多少 def check_primes(a,p): #2.篩選出p的倍數 a=a[a%p!=0] return a for i in range(3,N,LIM): #1.建立一個整數列表 a=numpy.arange(i,i+LIM,2) while len(primes)<p: a=check_primes(a,p) primes.append(p) p=a[0] print(len(primes),primes[p-1])
相關推薦
Numpy攻略:用埃氏篩篩選
埃氏篩:篩選質數的一種演算法,用迭代的方式識別出已經找到的質數的倍數,能高效地篩選出小於一千萬的質數。讓我們去試著尋找10001個質數。 具體步驟如下: 1.建立一個連續的整數列表:用arange函式 2.篩選出p的倍數 完整程式碼如下圖: import numpy
用“埃氏篩法”求2~100以內的素數。
用“埃氏篩法”求2~100以內的素數。2~100以內的數,先去掉2的倍數,再去掉3的倍數,再去掉5的倍數,……依此類推,最後剩下的就是素數。 請上傳壓縮後的原始碼檔案,程式碼可直接並正確執行; 請注意程式碼風格:類名、變數名的命名,以及必要註釋等等; 以防上傳失敗,請同時把程式碼貼到
Numpy攻略:模擬在隨機時間點
具體步驟: 1.生成隨機索引:用randint函式生成隨機整數 2.模擬交易過程:用Numpy的take函式,從收盤價陣列中選取若干函式。 3.繪製利潤直方圖 完整程式碼如下: import numpy import fix_yahoo_finance as yf yf.pdr_over
Numpy攻略:發現冪律
冪律分佈:用於描述財富的不均勻性,即富翁的精英所佔的都很少。 具體步驟: 1.提取正的收益率資料:計算收盤價的對數並且對結果進行差分運算,之後從收益率資料中,選出正值。 2.獲取收益率的收益頻率:使用histogram函式,獲得收益率的出現頻率。分組計算,並返回一個包含各組計數值的陣列。 3
Numpy攻略:確定穩態
馬爾可夫鏈:被用來描述至少有兩個狀態的系統,指數學中具有馬爾可夫性質的離散事件隨機過程。該過程中,在給定當前知識或資訊的情況下,過去(即當前以前的歷史狀態)對於預測將來(即當前以後的未來狀態)是無關的。此類系統t時刻的狀態僅取決於t-1時刻的狀態。 穩態:在未來某個時刻之後或者從
Numpy攻略:尋找最大回文數
迴文數指從左往右讀和從右往左讀都一樣的數字,我們尋找由兩個三位數相乘而獲得的最大回文數。 具體步驟: 1.建立一個由三位數構成的陣列 用numpy.testing包中的assert_equal函式,檢查陣列中的第一個元素和最後一個元素是否正確。 2.建立乘積陣列 建立一個數組,用來存放所有的
Numpy攻略:尋找質因
Fermat因式分解法 基本思路:用如下公式把N分成c和d兩個整數: 遞迴地應用這個因式分解法,直到得到需要的質因數。 具體步驟: 1.建立嘗試值陣列: 用ceil函式對其輸入的引數的陣列元素向上取整(選擇大於等於x的最小整數)。 2.得到陣列b的小數部分: 檢查陣列b2中的元素是否為某個
Numpy攻略:Numpy常用函式之斐波那契數列
NumPy 是一個 Python 的第三方庫,代表 “Numeric Python”,主要用於數學/科學計算。 它是一個由多維陣列物件和用於處理陣列的例程集合組成的庫。 1.sqrt函式:計算平方根 示例:黃金分割比的計算 程式碼段如下: import numpy #使
用“埃氏篩法”求2~10000以內的素數。2~100以內的數,先去掉2的倍數,再去掉3的倍數,再去掉5的倍數,……依此類推,最後剩下的就是素數。
package Homework; public class Test2 {public static void main(String[] args){ int[] a=new int[10000]; for(int i=0;i<a.length;i++){ //初試化陣列,a[0]=2
Python案例:使用埃氏篩法計算素數
Python中使用埃氏篩法計算素數(質數) 背景 學習了Python中的filter()函式,對序列中的元素進行篩選。應用於計算素數上。 演算法 埃氏篩法的演算法很簡單: 1. 從2開始造一個自然數序列:2,3,4,5,6,7…… 2. 取第
Java用“埃氏篩法”求素數
用“埃氏篩法”求素數。 先去掉2的倍數,再去掉3的倍數,再去掉4的倍數,……依此類推,最後剩下的就是素數。 要求:使用陣列,使用陣列的長度,使用增強的for語句 import java.uti
用“埃氏篩法”求2~100以內的素數。2~100以內的數,先去掉2的倍數,再去掉3的倍數,再去掉5的倍數,……依此類推
import java.util.ArrayList; import java.util.List; /** * @author Shicrom * @see 用“埃氏篩法”求2~100以內的素
程序員神級跳槽攻略:什麽時候該跳?做什麽準備?到哪裏找工作?
博文大賽 contain 關心 實習生 lag 企業 創新思維 任務 法則 1、引言 每年的3、4月份都是求職高峰時期,目前已進入6、7月份了,你已經成功換工作了嗎? 這次我們想聊的,就是程序員跳槽這件事兒,我打算從三個方面來說: 1)程序員什麽時候該跳槽? 2)跳槽前你
埃氏篩法(求n以內有多少個素數)
cin algorithm memset fin lse mod pre 判斷 end 題目大意:給定整數n,請問n以內有多少個素數 思路:想必要判斷一個數是否是素數,大家都會了,並且可以在O(根號n)的復雜度求出答案,那麽求n以內的素數呢,那樣求就顯得有點復雜了,下面看一
埃氏篩法
== 素數 基本思想 pro 找到 依次 () mes 讀取 埃氏篩法的基本思想: 這個東西的基本思路就是首先把1~n中小於2的數先標記,因為這些數字都不是質數。之後我們依次標記這個裏面所有質數的倍數,直到這個質數的平方要大於n的時候,我們就停止這個程序。這樣我們剩下沒有標
Python Challenge 第 5 關攻略:peak
odi pen soft auth name open 攻略 data import # -*- coding: utf-8 -*- # @Time : 2018/9/26 14:03 # @Author : cxa # @File : pickledemo.
PDF文件格式轉換攻略:PDF格式轉換圖片格式
shadow convert img 分享 方式 自定義 手機 RoCE 方法 關於PDF文件格式的轉換大家有了解多少嗎?就比如將PDF格式轉換成圖片格式,可能之前大家對於PDF件大家都有了解到,辦公中我們經常遇到過。現在小編在這裏教大家如何將PDF格式轉換成圖片格式,有興
攻略:蘋果手機投屏電腦 iPhone鏡像投屏怎麽操作
phone vpd mage oss proc 展示 tex 出現 屏幕 外出遊玩拍照已經是必不可以少的一項程序,記下美好的瞬間,回到家中,可以與家人一起分享,每個照片背後都是一個小故事,那如果全家很多人想一起瀏覽這些照片怎麽辦呢?不會只是想通過家庭群吧!那對於一些年齡稍長
2018雙11全攻略:超級紅包和各種優惠券的領取方法
參與感 新的 滿足 更新 狂歡節 選擇 所有 回饋 不同的 今年全球最大的購物狂歡節又又又要開始了,每到全球狂歡節很多朋友都忍不住要剁手,尤其是女孩子,因為一年一度的大促銷真的很給力,哈哈。 但每過完雙11都有好友跟小喵抱怨,她看好幾款商品等到11號當天,發現優惠打折信息是
職場寒冬下的求職攻略:我是如何在兩周內找到工作的
職場 所有 工作 it技術 過程 一句話 很多 學歷 電話 總算是offer談定,自己也算是對過去兩周的集中面試有了一個交代。離職後的這三周,除去第一周沒有安排面試,緊接著就是集中面試過程。其間,有歡喜,有高興,有失落,也有難過,幾多辛酸,也算是在職場寒冬中