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

วิธีต่างๆ ในการค้นหา Prime Number ในโปรแกรม Python


ในบทช่วยสอนนี้ เราจะมาสำรวจวิธีการต่างๆ เพื่อค้นหาว่าตัวเลขที่ระบุนั้นถูกต้องหรือไม่ มาเริ่มกันเลยดีกว่า

วิธีที่-1

เป็นวิธีการทั่วไปในการหาจำนวนเฉพาะ

  • หากตัวเลขน้อยกว่าหรือเท่ากับหนึ่ง ให้คืนค่าเท็จ

  • หากตัวเลขหารด้วยตัวเลขใดๆ ลงตัว ฟังก์ชันจะคืนค่าเป็น "เท็จ"

  • หลังจากวนซ้ำ ให้คืนค่า True

ตัวอย่าง

# checking for prime
def is_prime(n):
   if n <= 1:
      return False
   else:
      for i in range(2, n):
         # checking for factor
         if n % i == 0:
            # return False
            return False
      # returning True
   return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

Is 2 prime: True
Is 4 prime: False
Is 7 prime: True

วิธีที่ 2

ในวิธีนี้ เรากำลังลดจำนวนการวนซ้ำโดยตัดให้เป็นสแควร์รูทของ n มาดูโค้ดกัน

ตัวอย่าง

import math
# checking for prime
def is_prime(n):
   if n <= 1:
      return False
   else:
      # iterating loop till square root of n
      for i in range(2, int(math.sqrt(n)) + 1):
         # checking for factor
         if n % i == 0:
            # return False
            return False
      # returning True
      return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

Is 2 prime: True
Is 4 prime: False
Is 7 prime: True

วิธีที่-3

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

ตัวอย่าง

import math
# checking for prime
def is_prime(n):
   # checking for less than 1
   if n <= 1:
      return False
   # checking for 2
   elif n == 2:
      return True
   elif n > 2 and n % 2 == 0:
      return False
   else:
      # iterating loop till square root of n
      for i in range(3, int(math.sqrt(n)) + 1, 2):
         # checking for factor
         if n % i == 0:
            # return False
            return False
      # returning True
      return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

Is 2 prime: True
Is 4 prime: False
Is 7 prime: True

บทสรุป

หากคุณมีข้อสงสัยในบทช่วยสอน ให้พูดถึงในส่วนความคิดเห็น