Thuật tân oán đánh giá Số Ngulặng Tố2. Các Thuật tân oán khám nghiệm Số Nguyên Tố Đơn Giản4. Các Thuật toán thù bình chọn Số Nguyên ổn Tố Nâng Cao
Thuật tân oán kiểm tra Số Nguim Tố

Thuật toán thù kiểm tra Số Nguim Tố của một số nguyên ổn dương, với thuật tân oán tìm kiếm UCLN của nhì số tự nhiên và thoải mái là đầy đủ bài bác toán thù đặc trưng trong Lập trình.

Bạn đang xem: Cách xác định số nguyên tố

Kiểm tra tính ngulặng tố là bài bác toán khám nghiệm xem một số trong những tự nhiên n có phải là số nguim tố hay không. Bài toán thù này quan trọng trsống bắt buộc đặc biệt quan trọng Lúc các hệ mật mã khoá công khai thành lập và hoạt động.

1. Số ngulặng tố là gì?

Số ngulặng tố (prime) là số tự nhiên và thoải mái to hơn 1, chỉ tất cả nhị ước số là một trong những với thiết yếu nó. Theo định nghĩa này thì những số 2, 3, 5, 7, 11,… là các số ngulặng tố, trong những số đó số 2 là số nguyên tố chẵn nhất.


*

Ví dụ: 7 là số nguim tố vì chưng trong vòng trường đoản cú 2 cho 6 ko mãi sau số như thế nào mà 7 phân tách không còn cả.


2. Các Thuật tân oán kiểm tra Số Nguyên ổn Tố Đơn Giản

Phương pháp dễ dàng và đơn giản duy nhất để chất vấn một số n có là số ngulặng tố ko là chất vấn xem nó tất cả chia hết cho các số m ở trong tầm 2 cho n-1 hay là không.


Nếu n phân chia không còn cho 1 trong số số m nào kia thì n không là số nguyên ổn tố (nói một cách khác là đúng theo số composite). Ngược lại, trường hợp n không chia không còn cho bất kỳ số m như thế nào thì kết lianaj n là số nguyên tố.


Thực ra bài toán soát sổ với m từ bỏ 2 đến n-1 là ko quan trọng, cơ mà chỉ cần bình chọn mang đến $sqrtn$ là đủ. Vì nếu như n là hợp số thì nó chắc hẳn rằng có ước số không quá thừa sqrt(n).


Lặp từng phần tử cùng với bước nhảy 1 mang lại n-1

Giả sử bắt buộc kiểm tra số n có phải là số nguyên tố hay là không thì các bước thực hiện nhỏng sau:


Bước 1: Nhập vào nBước 2: Kiểm tra nếu n  thì kết luận n chưa phải là số nguyên ổn tốCách 3: Lặp từ 2 tới (n-1), ví như trong vòng này lâu dài số mà n chia hết thì kết luận n chưa hẳn là số nguyên ổn tố, ngược lại n là số nguyên ổn tố.

Độ phức tạp của thuật toán thù bên trên là $O(n)$.


Lặp từng bộ phận với bước khiêu vũ 2

Theo tư tưởng thì số 2 là số nguyên ổn tố chẵn độc nhất vô nhị, vày vậy ta sẽ một số loại 2 thoát ra khỏi vòng lặp và vào thân vòng lặp chỉ chất vấn những số lẻ cơ mà thôi, biện pháp này đã về tối ưu hơn giải pháp 1 tương đối nhiều.


Cách 1: Nhập vào n;Cách 2: Kiểm tra nếu n  thì kết luận n chưa hẳn là số nguyên tố;Bước 3: Kiểm tra nếu như n = 2 thì tóm lại n là số nguim tố;Cách 4: Kiểm tra trường hợp n > 2 và chẵn thì kết luận n chưa hẳn là số ngulặng tố;Bước 5. Lặp từ 3 cho tới (n-1), bước dancing là 2 ví như trong tầm này sống thọ số cơ mà n phân tách không còn thì kết luận n chưa phải là số nguim tố, ngược lại n là số nguim tố.

Lặp từng thành phần mang lại $sqrtn$

Để buổi tối ưu hơn, cố kỉnh bởi lặp tới n-1, chúng ta chỉ việc lặp những số tự 2 mang lại sqrt(n), nếu n chia hết cho một trong số những số kia thì n chưa hẳn là số ngulặng tố. trái lại thì n là số ngulặng tố.


Độ tinh vi của thuật toán trên là $O(sqrtn)$.

3. Tối ưu thuật toán thù chất vấn số nguyên ổn tố

Chúng ta hoàn toàn có thể về tối ưu thuật tân oán bên trên bằng cách đã cho thấy n không phân chia hết mang đến những số nguyên tố bé dại rộng nó. Tuy nhiên, họ lại không biết được những số ngulặng tố nhỏ hơn nó là hầu hết số làm sao (Quý khách hàng hoàn toàn có thể sử dụng phương pháp sàng số nguyên ổn tố – Sàng Eratosthenes để tìm thấy những số nguyên tố bé dại hơn số n mang đến trước). Nên ta áp dụng hiệu quả sau đây:

Tất cả phần lớn số ngulặng tố lớn hơn 3 đều phải sở hữu dạng 6k ± 1 (vì 6k, 6k ± 2, là hồ hết số chẵn; 6k + 3 thì phân chia không còn mang đến 3).

Do kia, bọn họ chỉ cần kiểm tra những số có dạng 6k ± 1 từ 2 đến √n, nếu n chia hết cho một trong những số đó thì n không hẳn là số nguyên tố. Ngược lại thì n là số nguim tố.


def is_prime(n: int) -> bool: """Primality chạy thử using 6k+-1 optimization.""" if n 1 if n % 2 == 0 or n % 3 == 0: return False i = 5 while i ** 2

4. Các Thuật toán soát sổ Số Nguyên ổn Tố Nâng Cao

Các giải pháp kiểm soát số ngulặng tố kể trên bao gồm độ đúng mực tuyệt vời nhất nhưng mà trọng lượng tính toán không hề nhỏ. Theo Wiki thì chúng ta còn có những cách không giống để soát sổ tính nguyên ổn tố của một số trong những với cùng một độ đúng mực mang lại trước.


Kiểm tra theo xác suất

Các phxay soát sổ tính nguyên ổn tố tuyệt dùng nhất là những thuật toán bất chợt.


Giả sử tất cả một mệnh đề Q(p,a) như thế nào đó đúng với mọi số nguyên tố p và một số trong những tự nhiên a . Nếu n là một số tự nhiên lẻ với mệnh đề Q(n,a) đúng với 1 a được lấy tự dưng, khi đó a có công dụng là một trong những nguim tố.

Ta chỉ dẫn một thuật tân oán, Kết luận rằng n là số nguim tố. Nó là 1 trong thuật tân oán tự dưng tuyệt thuật toán thù tỷ lệ. Trong những thuật toán nhiều loại này, dùng một đánh giá đột nhiên vẫn không bao giờ kết luận một số trong những ngulặng tố là đúng theo số tuy thế lại sở hữu thể Kết luận một thích hợp số là số ngulặng tố. Do kia, phương thức này sẽ không đúng mực một biện pháp hoàn hảo và tuyệt vời nhất.


Xác suất sai của phxay bình chọn hoàn toàn có thể giảm sút nhờ vào bài toán lựa chọn một hàng độc lập những số a; so với mỗi số a xác suất nhằm thuật toán tóm lại một phù hợp số là số ngulặng tố là bé dại hơn một phần thì sau k lần test tự do, tỷ lệ không nên là bé dại rộng 2^k, độ tin cẩn của thuật toán thù đã tăng thêm theo k.


Cấu trúc cơ bản của một phxay đánh giá bỗng dưng là:Chọn một số bất chợt a.Kiểm tra một hệ thức nào đó giữa số a với số n đã mang đến. Nếu hệ thức sai thì chắc hẳn rằng n là một vừa lòng số (số a là “bởi chứng” minh chứng n là hòa hợp số) và ngừng thuật toán.Nếu hệ thức đúng, chúng ta lặp lại nhì bước bên trên cho tới khi đã đạt được một số lần định trước hoặc chạm mặt ngôi trường đúng theo ngừng thuật toán thù.

Sau những lần demo, nếu hệ thức đúng với khá nhiều quý hiếm của a, ta có thể nói rằng n “có chức năng cao” là số nguim tố chứ cấp thiết chắc chắn rằng n là số nguyên ổn tố. Tất nhiên là bọn họ sẽ tìm phương pháp tăng “khả năng” này lên bằng cách thực hiện những tính tân oán rộng.


Các hệ thức hay sử dụng

Nếu p là một vài nguyên tố thì


fp + 1 ≡ 0 (thủ thuật p) (với fp + 1 là số Fibonacci thứ p + 1 và p có dạng 5k ± 2)

Các phép đánh giá tính nguyên tố tự dưng là:


Phxay soát sổ tính ngulặng tố của Fermat (soát sổ Fermat). Đây là phnghiền demo heuristic; tuy vậy không nhiều bạn sử dung phnghiền thử này.Kiểm tra Miller-Rabin cùng Kiểm tra Solovay-Strassen. Với mỗi đúng theo số n, ít nhất 3/4 (với bình chọn Miller-Rabin) hoặc một nửa (Với khám nghiệm Solovay-Strassen) những số a là bằng chứng chứng tỏ n là thích hợp số).

*


Các phxay kiểm tra tất định

Vào năm 2002, Manindra Agrawal, Nitin Saxemãng cầu cùng Neeraj Kayal đề xuất một giải mã tất định kiểm tra tính nguyên ổn tố, là chất vấn AKS, có công dụng chạy vào O((log n)12). Trên thực tiễn thuật toán thù này chạy lờ đờ hơn các phương pháp Xác Suất.

Xem thêm: Trường Thpt Chuyên Lê Quý Đôn Vũng Tàu, Đánh Giá Trường Thpt Chuyên Lê Quý Đôn

Các phương pháp này, mời bạn đọc tìm hiểu thêm tại https://en.wikipedia.org/wiki/Primality_test


Categories Thuật tân oán, Pydong dỏng Tags dart, thích hợp số, prime, pythanh mảnh, số nguyên tố, thuật toán Post navigation
Đề thi hsg lớp 12 môn hóa thức giấc Quảng Trị năm 2013
Sàng số nguyên tố (Sàng Eratosthenes)

Leave sầu a Comment Cancel reply

Comment

NameEmailWebsite

Save sầu my name, tin nhắn, and website in this browser for the next time I bình luận.


Search

Bài Viết Mới

WEBSITE BẠN BÈ


© 2022 O₂ Education| Dàn Karaoke| Micro Không Dây| Loa Karaoke JBL| Loa Âm Trần