ปัญหา
จำนวนเฉพาะติดกัน (Adjacent Primes) คือ จำนวนเฉพาะ 3 ตัวที่ไม่มีจำนวนเฉพาะอื่นอยู่ระหว่างกัน เช่น 5, 7, 11
ตัวอย่าง
nums = [5, 7, 11] → True (5, 7, 11 เป็นเฉพาะติดกัน)
แนวคิดการแก้ปัญหา
- ตรวจสอบว่าทั้ง 3 ตัวเป็นจำนวนเฉพาะ
- หาจำนวนเฉพาะถัดไปจากตัวแรก → ต้องเท่ากับตัวที่สอง
- หาจำนวนเฉพาะถัดไปจากตัวที่สอง → ต้องเท่ากับตัวที่สาม
โค้ดตัวอย่าง
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
def next_prime(num):
n = num + 1
while not is_prime(n):
n += 1
return n
def solve(x, y, z):
if not (is_prime(x) and is_prime(y) and is_prime(z)):
return False
if next_prime(x) != y:
return False
if next_prime(y) != z:
return False
return True
print(solve(5, 7, 11)) # True
อินพุต / เอาต์พุต
Input: [5,7,11] Output: True