熱線電話:13121318867

登錄
首頁精彩閱讀python使用篩選法計算小于給定數字的所有素數
python使用篩選法計算小于給定數字的所有素數
2018-04-12
收藏

python使用篩選法計算小于給定數字的所有素數

本文實例為大家分享了python計算小于給定數字的所有素數的具體代碼,供大家參考,具體內容如下

代碼思路:首先列出指定范圍內所有候選數字,然后從前往后依次選擇一個數字去除以后面所有數字,能夠被整除的肯定不是素數,把這些數字過濾掉,然后重復這個過程,直到選擇的除數大于最大數字的平方根為止。代碼主要演示內置函數filter()和切片的用法,實際上這個算法的效率并不是很高。    
def primes2(maxNumber):
  '''篩選法獲取小于maxNumber的所有素數'''
  #待判斷整數
  lst = list(range(3, maxNumber, 2))
  #最大整數的平方根
  m = int(maxNumber**0.5)
  for index in range(m):
    current = lst[index]
    #如果當前數字已大于最大整數的平方根,結束判斷
    if current > m:
      break
    #對該位置之后的元素進行過濾
    lst[index+1:] = list(
      filter(
        lambda x: 0 if not x%current else x,
        lst[index+1:]))
  #2也是素數
  return [2] + lst
以上就是本文的全部內容,希望對大家的學習有所幫助

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢