程序功能:
判断一个数是否是素数:
- 素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
import math
# 判断一个数是否为素数:
def is_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
# 判断一个数是否为素数:
def is_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 = []
# 从大到小筛选:
def split_prime(num):
# 小于 2 直接返回
if num < 2:
return
# 如果num为素数,就为其本身
if is_prime(num):
res.append(num)
return res
for i in range(num, 1, -1):
if is_prime(i) and num-i > 1:
res.append(i)
split_prime(num - i)
return
# 测试
split_prime(100)
print(res)