📅  最后修改于: 2023-12-03 14:57:31.206000             🧑  作者: Mango
本篇介绍如何编写程序计算一个数组中的孪生素数对数量。孪生素数对指相邻两个素数的差为2,例如(3,5)、(5,7)、(11,13)等。本文将使用Python语言作为示例,介绍如何实现该功能。
判断一个数是否为素数,可以采用试除法,即从2到这个数本身的平方根范围内,逐一试除是否能整除该数,如果都不能整除,则该数是素数。下面是Python代码实现:
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
对于给定的数组,我们可以遍历其元素,对每个元素进行判断是否为素数,并且判断其前后邻居是否为素数,如果存在相邻两个素数差为2,则计数器加1。下面是Python代码实现:
def twin_primes_count(nums):
count = 0
for i in range(1, len(nums) - 1):
if is_prime(nums[i-1]) and is_prime(nums[i]) and is_prime(nums[i+1]):
if nums[i+1] - nums[i] == 2 or nums[i] - nums[i-1] == 2:
count += 1
return count
为了验证上述代码实现的正确性,我们可以使用下面的测试样例进行测试:
nums = [1, 3, 5, 7, 11, 13, 17, 19]
print(twin_primes_count(nums)) # output: 3
本篇介绍了如何使用Python语言编写程序计算一个数组中的孪生素数对数量,主要包括判断素数和计算孪生素数对数量两个部分。实际编程中,我们可以根据需要进行简化或者复杂化,以符合实际需求。