Pythonで回文素数を見つける方法
回文素数であるかどうかを判定する手順は2つに分けられる。
- 素数判定を行うには、次の関数が使える。
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]
結合した2つの関数を用いて、ある数が回文素数であるかを判定できます。
def is_palindrome_prime(n):
return is_prime(n) and is_palindrome(n)
таким образом, функция is_palindrome_prime(n) вернет True, если n – палиндромное простое число, и False, если нет.