📅  最后修改于: 2023-12-03 15:28:00.498000             🧑  作者: Mango
本程序实现了从给定数字中,选取部分或全部数字所组成的所有数中,判断其是否为素数,并返回所有素数的列表。
首先,导入我们的prime_number
模块:
import prime_number
接下来,调用prime_number.find_primes(num)
函数,其中num
为给定数字,数据类型应为字符串。
例如,我们要找到由数字2357
所组成的所有素数:
num = '2357'
result = prime_number.find_primes(num)
print(result) # 输出 ['2', '3', '5', '7', '23', '37', '53', '73', '2357']
对于每个组合的数字,我们采用判断该数字是否为素数的方法来筛选素数。
具体地,我们用for
循环逐次选取数字,将其转换为整型,然后对该数字进行素数判断。对于判断素数,我们可以使用以下代码实现:
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
最终,我们得到的计算素数的主要代码如下:
def find_primes(num):
digits = list(num)
length = len(digits)
primes = []
for i in range(1, length + 1):
for j in range(length - i + 1):
sub_num = ''.join(digits[j:j+i])
if is_prime(int(sub_num)):
primes.append(sub_num)
return primes
这里,我们首先将给定数字转换为列表,然后在for
循环中,逐次选取从1到全选的数字范围,将其转换为整型后判断是否为素数,若是,则将其加入素数列表并返回。