Hướng dẫn how do i know if i have prime in python? - làm cách nào để biết nếu tôi có số nguyên tố trong python?
Hướng dẫn này sẽ dạy bạn cách viết chương trình Python để kiểm tra xem một số có chính hay không.number is prime or not. Show
Nếu bạn đã từng thực hiện các bài kiểm tra mã hóa, bạn sẽ bắt gặp câu hỏi toán học trong bài kiểm tra về tính nguyên thủy hoặc để kiểm tra xem một số là số nguyên tố. Và trong vài phút tiếp theo, bạn sẽ học cách đưa ra giải pháp tối ưu cho câu hỏi này. Trong hướng dẫn này, bạn sẽ:
Đối với tất cả điều này và hơn thế nữa, hãy để bắt đầu. Một số nguyên tố là gì?Hãy bắt đầu bằng cách xem xét những điều cơ bản của số nguyên tố.
Bảng sau đây liệt kê một vài con số, tất cả các yếu tố của chúng và nếu chúng là nguyên tố.
1, 2
1, 7 1, 3, 5, 15 Từ bảng trên, chúng ta có thể viết ra như sau:2 là số nguyên tố nhỏ nhất. 1 là một yếu tố của mỗi số.
Vì vậy, 1 và N là yếu tố tầm thường cho bất kỳ số n. Và một số nguyên tố không nên có bất kỳ yếu tố nào khác ngoài hai yếu tố này. Điều này có nghĩa là khi bạn đi từ 2 đến N-1, bạn không thể tìm thấy một yếu tố không tầm thường phân chia N mà không có phần còn lại.
Bạn có thể lặp qua tất cả các số từ 2 đến N - 1 bằng cách sử dụng đối tượng range() trong Python.Trong Python, 0 trả về một đối tượng phạm vi. Sau đó, bạn có thể lặp lại đối tượng phạm vi để có được một chuỗi từ 1 cho đến 2 trong các bước của 3.
Vì chúng ta cần tập hợp các số nguyên từ 2 đến N-1, chúng ta có thể chỉ định 4 và sử dụng nó kết hợp với vòng lặp 5.
Chức năng Python để kiểm tra số nguyên tố
Sử dụng ở trên, chúng ta có thể tiếp tục và xác định hàm 6 như sau.Bây giờ, hãy để phân tích định nghĩa hàm trên.Hàm trên 6 có số nguyên dương N làm đối số.
1, 3 1, 2, 4 1, 7 1, 3, 5, 15Từ bảng trên, chúng ta có thể viết ra như sau:
2 là số nguyên tố nhỏ nhất.O(n) runtime complexity: proportional to the value of n or linear in n. 1 là một yếu tố của mỗi số. Mỗi số Vì vậy, 1 và N là yếu tố tầm thường cho bất kỳ số n. Và một số nguyên tố không nên có bất kỳ yếu tố nào khác ngoài hai yếu tố này.Điều này có nghĩa là khi bạn đi từ 2 đến N-1, bạn không thể tìm thấy một yếu tố không tầm thường phân chia N mà không có phần còn lại.
Trong phần này, chúng ta hãy chính thức hóa cách tiếp cận trên thành hàm Python. Bạn có thể lặp qua tất cả các số từ 2 đến N - 1 bằng cách sử dụng đối tượng Trong Python, 0 trả về một đối tượng phạm vi. Sau đó, bạn có thể lặp lại đối tượng phạm vi để có được một chuỗi từ 1 cho đến 2 trong các bước của 3.Vì chúng ta cần tập hợp các số nguyên từ 2 đến N-1, chúng ta có thể chỉ định 4 và sử dụng nó kết hợp với vòng lặp 5.(a, b), you can see that if a is less than 4.24, then b is greater than 4.24—in this example, (2, 18) and (3, 6).
Hình dưới đây cho thấy các yếu tố của 18 được vẽ trên dòng số. Nếu số N xảy ra là một hình vuông hoàn hảo, bạn sẽ có a = b = √n là một trong những yếu tố. ▶️ Look at the factors of 36 in the table below. As 36 is a perfect square, a = b = 6 is one of the factors. For all other factor pairs (a, b), a < 6 and b > 6 holds.
Hình dưới đây cho thấy các yếu tố của 18 được vẽ trên dòng số.
Mỗi số n có thể được viết là n = a x b Nếu n là một hình vuông hoàn hảo, thì a = b = √n.Let’s proceed to optimize the function to check for prime numbers in Python.
Khác, nếu a> b, thì a> √n và b <√n.
Bây giờ, hãy để phân tích định nghĩa hàm trên:
Để tính toán căn bậc hai của một số, hãy để mô-đun toán học tích hợp của Python, và sử dụng hàm 3.Vì n có thể không phải là một hình vuông hoàn hảo, chúng tôi sẽ phải ném nó vào một số nguyên. Sử dụng def is_prime(n): for i in range(2,int(n/2)): if (n%i) == 0: return False return True4 để đúc def is_prime(n): for i in range(2,int(n/2)): if (n%i) == 0: return False return True5 vào def is_prime(n): for i in range(2,int(n/2)): if (n%i) == 0: return False return True6.Để đảm bảo rằng chúng tôi thực sự kiểm tra tối đa √n, chúng tôi thêm một cộng với chức năng
Ô mã bên dưới xác minh rằng chức năng của chúng tôi 6 hoạt động chính xác.
Đoạn trích trên cho thấy cách bạn có thể vẽ đường cong cho n và √n cho một loạt các giá trị. Chúng tôi sử dụng hàm arange () numpy để tạo một mảng số. Và sau đó, chúng tôi thu thập các giá trị của N và √n lên đến, nhưng không bao gồm 20, vào khung dữ liệu gấu trúc.From the above plot, you can infer that O(√n) algorithm is significantly faster when you’re testing if a large number is prime. Tiếp theo, chúng tôi âm mưu sử dụng chức năng lineplot () của Seaborn. Từ cốt truyện dưới đây, chúng ta thấy rằng √n nhỏ hơn đáng kể so với n. Bây giờ chúng ta hãy tăng phạm vi lên tới 2000 và lặp lại các bước tương tự như trên. Từ biểu đồ trên, bạn có thể suy ra rằng thuật toán O (√n) nhanh hơn đáng kể khi bạn kiểm tra nếu một số lượng lớn là số nguyên tố.
Để kiểm tra xem một số là số nguyên tố, cách tiếp cận ngây thơ là lặp qua tất cả các số trong phạm vi (2, n-1). Nếu bạn không tìm thấy một yếu tố phân chia N, thì N là số nguyên tố. Vì yếu tố duy nhất của N lớn hơn N/2 là chính N, bạn có thể chọn chỉ chạy lên đến N/2. Làm thế nào để bạn kiểm tra xem một số là một số nguyên tố trong Python?Kiểm tra xem một số là số nguyên tố hoặc không sử dụng sqrt () từ nhập khẩu math+ 1): if (n % k == 0): flag = 1 break if (flag == 0): print (n, "là số nguyên tố!")!!using sqrt()
from math import sqrt # Number to be checked for prime n = 9 flag = 0 if(n > 1): for k in range(2, int(sqrt(n)) + 1): if (n % k == 0): flag = 1 break if (flag == 0): print(n," is a Prime Number! ") else: print(n," is Not a Prime Number!
Làm thế nào để bạn kiểm tra xem một số là số nguyên tố?Làm thế nào để bạn biết một số nguyên tố?Nếu một số chỉ có hai yếu tố 1 và chính nó, thì con số là số nguyên tố.If a number has only two factors 1 and itself, then the number is prime.
Là Prime Inbuilt trong Python?Sympy là một mô -đun Python chứa một số chức năng thư viện số nguyên tố thực sự tuyệt vời.Đưa ra dưới đây là danh sách các chức năng này: isprime (n): Nó kiểm tra xem n có phải là số nguyên tố (đúng) hay không (sai).. Given below is the list of these functions : isprime(n): It tests if n is a prime number (True) or not (False). |