日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實(shí)現(xiàn)高效求解素?cái)?shù)代碼實(shí)例

系統(tǒng) 1708 0

素?cái)?shù)是編程中經(jīng)常需要用到的。

作為學(xué)習(xí)Python的示例,下面是一個(gè)高效求解一個(gè)范圍內(nèi)的素?cái)?shù)的程序,不需要使用除法或者求模運(yùn)算。

            
#coding:utf-8    #設(shè)置python文件的編碼為utf-8,這樣就可以寫入中文注釋
def primeRange(n):
  myArray=[1 for x in range(n+1)] ##列表解析,生成長度為(n+1)的列表,每個(gè)數(shù)值都為1
  myArray[0]=0
  myArray[1]=0
  startPos=2
  while startPos <= n:
    if myArray[startPos]==1:
      key=2
      resultPos = startPos * key #可知startPos的整數(shù)倍都不是素?cái)?shù),設(shè)置startPos的整數(shù)倍的位置為0表示非素?cái)?shù)
      while resultPos <= n:
        myArray[resultPos] =0
        key += 1
        resultPos = startPos *key
    startPos += 1

  resultList=[]  ##將最終的素?cái)?shù)保存在resultList列表返回
  startPos=0
  while startPos <= n:
    if myArray[startPos] == 1:
      resultList.append(startPos)
    startPos += 1
  return resultList

numString=raw_input("Input the Range(>3):")
numInt=int(numString)
if numInt <= 3:
  print "The Number Need to be greater than 3"
else:
  primeResult=primeRange(numInt)
  print "The Result is:",primeResult

          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 深圳市| 大埔区| 西乌珠穆沁旗| 四平市| 兖州市| 都兰县| 桃园市| 延川县| 渝北区| 罗城| 鹤壁市| 昌图县| 瓮安县| 吉安市| 元谋县| 广德县| 阜康市| 阿鲁科尔沁旗| 贵南县| 芦溪县| 漯河市| 当雄县| 白银市| 平定县| 章丘市| 新田县| 汉源县| 阿勒泰市| 通山县| 长寿区| 建德市| 来安县| 常熟市| 拉孜县| 平远县| 于都县| 岳普湖县| 儋州市| 九台市| 吐鲁番市| 独山县|