Computer >> Máy Tính >  >> Lập trình >> Python

Các phương pháp khác nhau để tìm số nguyên tố trong chương trình Python


Trong hướng dẫn này, chúng ta sẽ khám phá các phương pháp khác nhau để tìm xem một số nhất định có hợp lệ hay không. Hãy bắt đầu mà không cần đến hạn.

Phương pháp-1

Đây là một phương pháp chung để tìm số nguyên tố.

  • Nếu số nhỏ hơn hoặc bằng một, trả về Sai.

  • Nếu số đó chia hết cho bất kỳ số nào, thì hàm sẽ trả về False.

  • Sau vòng lặp, trả về True.

Ví dụ

# 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)}")

Đầu ra

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.

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

Phương pháp-2

Trong phương pháp này, chúng tôi đang giảm số lần lặp lại bằng cách cắt chúng thành căn bậc hai của n. Hãy xem mã.

Ví dụ

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)}")

Đầu ra

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.

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

Phương pháp-3

Trong phương pháp trước, chúng tôi đã kiểm tra các số chẵn. Tất cả chúng ta đều biết rằng các số chẵn không thể là số nguyên tố ngoại trừ hai. Vì vậy, trong phương pháp này, chúng tôi sẽ loại bỏ tất cả các lò để giảm thời gian.

Ví dụ

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)}")

Đầu ra

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.

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

Kết luận

Nếu bạn có nghi ngờ trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.