python 素數(質數)


素數的定義:是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。即只能被1和自己本身整除的數

判定一個數是否為素數的基本思路:
1、了解素數的定義,一個正整數n若為素數,則它的約數只能是1和n本身,
2、根據定義,我們需要將這個數除以從2到n-1之間的全部正整數,如果全部都不能整除,則這個數便是素數。若是其中有一個數能被整除,則這個數是個合數,而不是素數。 因此,用求余算法%不失為一種有效的方法。
3、根據上述原理,我們可以用while循環來實現

n = int(input("請輸入要判斷的整數:"))
i = 2
#注意,為什么i的取值范圍是(2,n/2+)而不是(2,n-1)呢?其實取(2,n-1)也是可以行的,只是運算量比較大而已,浪費資源。
#因為當i>n/2時,n是不可能整除i的,所以i的最大取值范圍到n/2即可,這樣能大大減少運算量。(思路可以)
while i <= int(n/2)+1:
    if n%i == 0:
        break
    #如果i仍然不能被n整除,那么就自增1,繼續執行求余循環,直到i取到最大值為止
    i += 1
#如果在(2,n/2)之間的所有數字都不能被n整除,那么就可以認定這個數是素數。
else:
    print("%d是素數" % n)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM