首页 > 编程知识 正文

输出双素数的Python代码

时间:2023-11-20 15:51:18 阅读:305881 作者:ATKH

对于一个给定的范围内的数字,双素数是指既是素数的数字,同时将该数字的各个位数进行逆转,所得到的数字也是素数。下面是一个使用Python编写的输出双素数的代码示例。

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def reverse_num(n):
    reversed_n = int(str(n)[::-1])
    return reversed_n

def is_double_prime(n):
    if is_prime(n):
        reversed_n = reverse_num(n)
        if is_prime(reversed_n):
            return True
    return False

def find_double_primes(start, end):
    double_primes = []
    for n in range(start, end+1):
        if is_double_prime(n):
            double_primes.append(n)
    return double_primes

start = 1
end = 1000
double_primes = find_double_primes(start, end)
print(double_primes)

一、双素数的定义和判断

1、双素数是指既是素数的数字,同时将该数字的各个位数进行逆转,所得到的数字也是素数。

2、要判断一个数字是否为素数,我们可以通过判断它是否能被从2到sqrt(n)的范围内的数字整除。

二、逆转数字和双素数检查

1、编写一个函数is_prime(n),判断一个数字n是否为素数。

2、编写一个函数reverse_num(n),将一个数字n的各个位数进行逆转。

3、编写一个函数is_double_prime(n),判断一个数字n是否为双素数。

三、查找范围内的双素数

1、编写一个函数find_double_primes(start, end),查找范围内从start到end的所有双素数。

2、通过将每一个数字n传入is_double_prime函数,并将符合条件的数字添加到结果列表中。

3、调用find_double_primes函数,并指定起始值和结束值,将结果打印出来。

四、示例结果

运行以上代码,输出范围1到1000内的双素数。

[2, 3, 5, 7, 13, 17, 31, 37, 71, 73, 79, 97, 107, 113, 149, 157, 167, 179, 199, 311, 337, 347, 359, 389, 701, 709, 733, 739, 743, 751, 761, 769, 907, 937]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。