假设我们有三个数字,我们必须检查它们是否不是相邻质数。相邻素数是素数,它们之间不存在其他素数。
因此,如果输入类似于nums = [5,7,11],则输出将为True。
为了解决这个问题,我们将遵循以下步骤-
如果这三个数字中的任何一个不是素数
返回False
如果x的下一个质数与y不同,则
返回False
如果y的下一个质数与z不相同,则
返回False
返回True
让我们看下面的实现以更好地理解-
def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def get_next_prime(num) : next_prime = num + 1 while not isPrime(next_prime): next_prime += 1 return next_prime def solve(x, y, z) : if isPrime(x) == False or isPrime(y) == False or isPrime(z) == False : return False next_prime = get_next_prime(x) if next_prime != y: return False if get_next_prime(y) != z: return False return True nums = [5,7,11] print(solve(*nums))
[5,7,11]输出结果
True