編寫Python程式求1000以內的質數
阿新 • • 發佈:2019-01-08
求質數的三種方法:
/*求素數的三種方法
一:for(i=2;i<=(n-1);i++)
if(n%i==0)i在2到n-1之間任取一個數,如果n能被整除則不是素數,否則就是素數
二:for(i=2;i<n/2;i++)
if(n%i==0) /*i在2到n/2之間任取一個數,如果n能被整除則不是素數,否則就是素數
三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之間任取一個數,如果n能被整除則不是素數,否則就是素數,在下省了下面的輸出步驟*/
Python code:
#!/usr/bin/env python # -*- encoding:utf-8 -*- ''' 求質數或素數 先弄清楚什麼是質數? 質數就是隻能被1和它本身整除的數,1和0不是質數也不是合數 ''' def primeNumber(n): x = 1 # x累計1到n中的質數個數,由於2也是質數,這裡先加+1 for i in range(3,n+1): # 3到n+1取值(取一個值出來用內迴圈判斷此數是否為質素) result = True for j in range(2,i-1): # 2到i-1之間有沒有被整數的數,有則不是質素 if i % j == 0: result = False if result == True: print i, x += 1 print '\n%d 內有 %d 個質數' %(n,x) primeNumber(1000)