溫馨提示×

python回文素數(shù)怎么求

小億
128
2023-11-02 16:45:01
欄目: 編程語言

要判斷一個數(shù)是否是回文素數(shù),首先需要判斷該數(shù)是否是素數(shù),然后判斷該數(shù)是否是回文數(shù)。

判斷素數(shù)的方法一般有兩種:

  1. 對于小于等于一個數(shù)的平方根的每個整數(shù),判斷該數(shù)是否能被這些整數(shù)整除。如果能被整除,則該數(shù)不是素數(shù);如果不能被整除,則該數(shù)是素數(shù)。
  2. 利用埃拉托斯特尼篩法,先假設(shè)所有的數(shù)都是素數(shù),然后從2開始,將其倍數(shù)標(biāo)記為合數(shù),一直到根號n為止,剩下的數(shù)即為素數(shù)。

判斷回文數(shù)的方法可以將該數(shù)轉(zhuǎn)為字符串,然后判斷反轉(zhuǎn)后的字符串是否與原字符串相等。

下面是一個示例代碼,用于判斷一個數(shù)是否是回文素數(shù):

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

def is_palindrome(n):
    return str(n) == str(n)[::-1]

def is_palindrome_prime(n):
    if is_prime(n) and is_palindrome(n):
        return True
    return False

# 示例調(diào)用
n = 131
if is_palindrome_prime(n):
    print(f"{n} 是回文素數(shù)")
else:
    print(f"{n} 不是回文素數(shù)")

在上面的示例中,is_prime函數(shù)用于判斷一個數(shù)是否是素數(shù),is_palindrome函數(shù)用于判斷一個數(shù)是否是回文數(shù),is_palindrome_prime函數(shù)用于判斷一個數(shù)是否是回文素數(shù)。最后,通過調(diào)用這些函數(shù),可以判斷一個數(shù)是否是回文素數(shù)。

0