Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าตัวเลขที่ให้มาสามตัวเป็นจำนวนเฉพาะที่อยู่ติดกันใน Python . หรือไม่


สมมุติว่าเรามีตัวเลขสามตัว และเราต้องตรวจสอบว่าเป็นจำนวนเฉพาะที่อยู่ติดกันหรือไม่ จำนวนเฉพาะที่อยู่ติดกันคือจำนวนเฉพาะที่ไม่มีจำนวนเฉพาะอื่นอยู่ระหว่างจำนวนเฉพาะ

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5,7,11] ผลลัพธ์จะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • หากหนึ่งในสามจำนวนนี้ไม่เป็นจำนวนเฉพาะ
    • คืนค่าเท็จ
  • ถ้าจำนวนเฉพาะตัวถัดไปของ x ไม่เหมือนกับ y แล้ว
    • คืนค่าเท็จ
  • ถ้าจำนวนเฉพาะตัวถัดไปของ y ไม่เหมือนกับ z แล้ว
    • คืนค่าเท็จ
  • คืนค่า 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