素數的判斷

2021-10-22 06:55:42 字數 1065 閱讀 9466

判斷乙個數是否是素數:

import math

# 判斷乙個數是否為素數:

defis_prime

(num)

:if num <2:

return

false

for i in

range(2

,int

(math.sqrt(num))+

1):if num % i ==0:

return

false

return

true

擴充套件:把乙個數表示成若干個素數的和.

# -*- coding: utf-8 -*-

# 把乙個數表示成若干個素數的和.

import math

# 判斷乙個數是否為素數:

defis_prime

(num)

:if num <2:

return

false

for i in

range(2

,int

(math.sqrt(num))+

1):if num % i ==0:

return

false

return

true

res =

# 從大到小篩選:

defsplit_prime

(num)

:# 小於 2 直接返回

if num <2:

return

# 如果num為素數,就為其本身

if is_prime(num)

:return res

for i in

range

(num,1,

-1):

if is_prime(i)

and num-i >1:

split_prime(num - i)

return

# 測試

split_prime(

100)

print

(res)

素數的判斷

所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2 16的任一整數整除。因此判斷乙個整數m是否是素數,只需把m被2 m 1之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數 另外判斷方法還可以簡化。m不必唄2 m 1之間的每乙個整數去除,只需被2 m之間...

素數的判斷

素數是啥?知道了這個就能夠知道如何判斷乙個數是否為素數了。這篇博文裡詳細說明了素數是啥 素數 如果乙個整數a 1且只能被平凡約數1和它自身所整除,則這個數是素數。也就是說素數是恰好有2個約數的整數,即1和它本身。因為n的約數都不超過n,所以只要檢查2 n 1的所有整數是否整除n就能判斷n是不是素數了...

素數的判斷

素數 首先,儲存最小素數2,然後,從3開始,在奇數中尋找素數。用不大於該奇數一半的所有奇數去整除它,如果都除不盡,該奇數是素數。曾稱質數。乙個大於1的正整數,如果除了1和它本身以外,不能被其他正整數整除,就叫素數。如2,3,5,7,11,13,17 8 2042 0sample output 8 3...