python实现反向数,回文数,回文素数,反素数,梅森素数,双素数。
作者:野牛程序员:2023-12-14 20:43:50python阅读 2686
反向数是指将一个数的各位数字颠倒过来得到的数。以下是Python中实现反向数的简单代码:
def reverse_number(num): return int(str(num)[::-1]) # 示例 original_number = 12345 reversed_number = reverse_number(original_number) print(f"Original Number: {original_number}, Reversed Number: {reversed_number}")
回文数是指一个数字从左往右读和从右往左读是一样的。以下是Python中实现回文数的代码:
def is_palindrome(num): return str(num) == str(num)[::-1] # 示例 palindrome_number = 121 print(f"Is {palindrome_number} a palindrome number? {is_palindrome(palindrome_number)}")
回文素数是指既是回文数又是素数的数字。以下是Python中实现回文素数的代码:
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_prime(num): return is_palindrome(num) and is_prime(num) # 示例 palindrome_prime_number = 131 print(f"Is {palindrome_prime_number} a palindrome prime number? {is_palindrome_prime(palindrome_prime_number)}")
反素数是指一个正整数,其正除数数量大于任何小于它的正整数。以下是Python中实现反素数的代码:
def divisor_count(n): count = 0 for i in range(1, n + 1): if n % i == 0: count += 1 return count def is_superprime(num): num_divisors = divisor_count(num) for i in range(1, num): if divisor_count(i) >= num_divisors: return False return True # 示例 superprime_number = 12 print(f"Is {superprime_number} a superprime number? {is_superprime(superprime_number)}")
梅森素数是指形如2^n-1的素数,其中n也是素数。以下是Python中实现梅森素数的代码:
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_mersenne_prime(p): if is_prime(p): mersenne_number = 2**p - 1 return is_prime(mersenne_number) return False # 示例 mersenne_prime_exponent = 3 print(f"Is 2^{mersenne_prime_exponent}-1 a Mersenne prime? {is_mersenne_prime(mersenne_prime_exponent)}")
双素数是指两个素数之差为2的素数对。以下是Python中实现双素数的代码:
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 find_twin_primes(start, end): twin_primes = [] for i in range(start, end - 1): if is_prime(i) and is_prime(i + 2): twin_primes.append((i, i + 2)) return twin_primes # 示例 start_range = 10 end_range = 50 twin_primes_result = find_twin_primes(start_range, end_range) print(f"Twin primes between {start_range} and {end_range}: {twin_primes_result}")
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
