Nếu bạn tham gia vào chương trình cạnh tranh, bạn có thể quen thuộc với thực tế là các câu hỏi liên quan đến số nguyên tố là một trong những lựa chọn của người thiết lập vấn đề. Ở đây, chúng tôi sẽ thảo luận về cách tối ưu hóa chức năng của bạn để kiểm tra số nguyên tố trong bộ phạm vi đã cho và cũng sẽ tính toán thời gian để thực hiện chúng. Show
Theo định nghĩa, một số nguyên tố là một số nguyên dương chỉ chia hết và 1. Ví dụ: 2,3,5,7. Nhưng nếu một số có thể được tính vào các số nhỏ hơn, nó được gọi là số tổng hợp. Ví dụ: 4 = 2*2, 6 = 2*3 Và số nguyên 1 không phải là số nguyên tố cũng không phải là số tổng hợp. Kiểm tra xem một số là Prime là dễ dàng nhưng kiểm tra hiệu quả cần một số nỗ lực. Phương pháp 1: & nbsp; Bây giờ chúng ta hãy đi với chức năng đầu tiên để kiểm tra xem một số, nói n, là nguyên tố hay không. Trong phương pháp này, chúng tôi sẽ kiểm tra tất cả các ước số từ 2 đến N-1. Chúng tôi sẽ bỏ qua 1 và n. Nếu n chia hết cho bất kỳ ước số nào, hàm sẽ trả về sai, khác đúng. & Nbsp; sau đây là các bước được sử dụng trong phương thức này: & nbsp;
Python3
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*11 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*14 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185060 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 Total prime numbers in range: 9592 Time required: 0.41163420677185064 Total prime numbers in range: 9592 Time required: 0.41163420677185065 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 Total prime numbers in range: 9592 Time required: 0.233051776885986335 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090 Total prime numbers in range: 9592 Time required: 0.03124976158142091 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093 Total prime numbers in range: 9592 Time required: 0.03124976158142094 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.233051776885986333 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 import 3import 4import 5
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 import 9
Total prime numbers in range: 9592 Time required: 0.03124976158142094 time 236=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 time 4
Total prime numbers in range: 9592 Time required: 0.41163420677185063 time 7time 8
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093
Total prime numbers in range: 9592 Time required: 0.41163420677185063 def 4def 5def 6 def 7Output: Total prime numbers in range: 9592 Time required: 60.702312707901 Trong mã trên, chúng tôi kiểm tra tất cả các số từ 1 đến 100000 cho dù những con số đó có chính hay không. Nó có một thời gian chạy lớn như thể hiện. Phải mất khoảng 1 phút để chạy. Đây là một cách tiếp cận đơn giản nhưng mất rất nhiều thời gian để chạy. Vì vậy, nó không được ưa thích trong lập trình cạnh tranh. Phương pháp 2: & nbsp; Trong phương pháp này, chúng tôi sử dụng một thủ thuật đơn giản bằng cách giảm số lượng các ước số mà chúng tôi kiểm tra. Chúng tôi đã phát hiện ra rằng có một dòng tốt hoạt động như gương như cho thấy hệ số bên dưới dòng và hệ số trên dòng chỉ theo thứ tự ngược lại. Dòng chia các yếu tố thành hai nửa là dòng căn bậc hai của số. Nếu số là một hình vuông hoàn hảo, chúng ta có thể chuyển dòng sang 1 và nếu chúng ta có thể nhận được giá trị số nguyên của dòng phân chia. & NBSP; 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*1 Trong hàm này, chúng tôi tính toán một số nguyên, giả sử MAX_DIV, là căn bậc hai của số và nhận giá trị sàn của nó bằng thư viện toán học của Python. Trong ví dụ cuối cùng, chúng tôi lặp lại từ 2 đến N-1. Nhưng trong điều này, chúng tôi giảm một nửa số chia như được hiển thị. Bạn cần nhập mô -đun toán học để có được chức năng sàn và sqrt. & Nbsp; sau đây là các bước được sử dụng trong phương pháp này: & nbsp;
Python3
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*11 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*14 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185060 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 Total prime numbers in range: 9592 Time required: 0.41163420677185064 Total prime numbers in range: 9592 Time required: 0.41163420677185065 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 Total prime numbers in range: 9592 Time required: 0.233051776885986335 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090 Total prime numbers in range: 9592 Time required: 0.03124976158142091 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093 Total prime numbers in range: 9592 Time required: 0.03124976158142094 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.233051776885986333 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 import 3import 4import 5
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 import 9
Total prime numbers in range: 9592 Time required: 0.03124976158142094 time 236=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 time 4
Total prime numbers in range: 9592 Time required: 0.41163420677185063 time 7time 8
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093
Total prime numbers in range: 9592 Time required: 0.41163420677185063 def 4def 5def 6 def 7Output: Total prime numbers in range: 9592 Time required: 0.4116342067718506 Trong mã trên, chúng tôi kiểm tra tất cả các số từ 1 đến 100000 cho dù những con số đó có chính hay không. Nó có một thời gian chạy lớn như thể hiện. Phải mất khoảng 1 phút để chạy. Đây là một cách tiếp cận đơn giản nhưng mất rất nhiều thời gian để chạy. Vì vậy, nó không được ưa thích trong lập trình cạnh tranh. Phương pháp 3: & nbsp; Bây giờ, chúng tôi sẽ tối ưu hóa mã của chúng tôi lên cấp độ tiếp theo, điều này mất ít thời gian hơn phương thức trước đó. Bạn có thể nhận thấy rằng trong ví dụ cuối cùng, chúng tôi đã lặp đi lặp lại mọi số lượng lên đến giới hạn là một sự lãng phí. Điều cần chú ý là tất cả các số chẵn ngoại trừ hai số không thể là số nguyên tố. Trong phương thức này, chúng tôi khởi động tất cả các số chẵn để tối ưu hóa mã của chúng tôi và sẽ chỉ kiểm tra các ước số lẻ. & Nbsp; sau đây là các bước được sử dụng trong phương thức này: & nbsp;
Python3
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*11 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*14 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*187 Total prime numbers in range: 9592 Time required: 0.41163420677185064 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*189 Total prime numbers in range: 9592 Time required: 0.41163420677185068__ 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*187 Total prime numbers in range: 9592 Time required: 0.41163420677185064 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*189 Total prime numbers in range: 9592 Time required: 0.41163420677185068__
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 6
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185060 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063__ 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 Total prime numbers in range: 9592 Time required: 0.233051776885986335 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090 Total prime numbers in range: 9592 Time required: 0.03124976158142091 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093 Total prime numbers in range: 9592 Time required: 0.03124976158142094 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.233051776885986333
Total prime numbers in range: 9592 Time required: 0.41163420677185063 time 7time 836=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 import 3import 4import 5
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 import 9Output: Total prime numbers in range: 9592 Time required: 0.23305177688598633
Total prime numbers in range: 9592 Time required: 0.03124976158142094 time 236=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 time 4time936=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093
Total prime numbers in range: 9592 Time required: 0.41163420677185063 def 4def 5def 6 def 7This method is considered to be the most efficient method to generate all the primes smaller than the given number, n. It is considered as the fastest method of all to generate a list of prime numbers. This method is not suited to check for a particular number. This method is preferred for generating the list of all the prime numbers. Python3
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*11 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*14 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*187 Total prime numbers in range: 9592 Time required: 0.41163420677185064 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*189 Total prime numbers in range: 9592 Time required: 0.41163420677185068__
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 6
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185060 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063__ 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 Total prime numbers in range: 9592 Time required: 0.233051776885986335 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 Total prime numbers in range: 9592 Time required: 0.03124976158142090 Total prime numbers in range: 9592 Time required: 0.03124976158142091 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.03124976158142093 Total prime numbers in range: 9592 Time required: 0.03124976158142094 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 Total prime numbers in range: 9592 Time required: 0.233051776885986333 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*15 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*10 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185069 Total prime numbers in range: 9592 Time required: 0.41163420677185060__12 Total prime numbers in range: 9592 Time required: 0.233051776885986335 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*16 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*17
Total prime numbers in range: 9592 Time required: 0.41163420677185063 Total prime numbers in range: 9592 Time required: 0.2330517768859863357 time 836=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*19 Total prime numbers in range: 9592 Time required: 0.41163420677185068 Total prime numbers in range: 9592 Time required: 0.41163420677185061 Total prime numbers in range: 9592 Time required: 0.41163420677185062 Total prime numbers in range: 9592 Time required: 0.41163420677185063 36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*13 import 3import 4import 5
36=1*36 =2*18 =3*12 =4*9 ------------ =6*6 ------------ =9*4 =12*3 =18*2 =36*12 import 9Output: Total prime numbers in range: 9592 Time required: 0.0312497615814209
Total prime numbers in range: 9592 Time required: 0.41163420677185063 def 4def 5def 6 def 7http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes This article is contributed by Rishabh Bansal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. Cách hiệu quả để tìm số nguyên tố trong Python là gì?Để tìm một số nguyên tố trong Python, bạn phải lặp lại giá trị từ đầu đến cuối bằng cách sử dụng vòng lặp và cho mỗi số, nếu nó lớn hơn 1 giá trị đó.iterate the value from start to end using a for loop and for every number, if it is greater than 1, check if it divides n. If we find any other number which divides, print that value. Cách nhanh nhất để tìm một số nguyên tố là gì?Lấy một số, giả sử, 26577. Chữ số đơn vị của số này không phải là 0, 2, 4, 6 hoặc 8. Bây giờ, lấy tổng các chữ số sẽ là: 2 + 6 + 5 + 7 + 7 = 27. Vì 27 chia hết cho 3, 26577 không phải là số nguyên tố.. The unit digit of this number is not 0, 2, 4, 6 or 8. Now, take the sum of digits which will be: 2 + 6 + 5 + 7 + 7 = 27. Since 27 is divisible by 3, 26577 is not a prime number. Là python nhanh chóng?Chức năng ISPRIME2 nhanh hơn trong việc trả về đúng với số nguyên tố. Nhưng nếu một số lớn và nó không phải là nguyên tố, phải mất quá nhiều thời gian để trả về một giá trị. Chức năng đầu tiên hoạt động tốt hơn với điều đó.. But if a number is big and it is not prime, it takes too long to return a value. First function works better with that. Làm thế nào để bạn tạo ra một số nguyên tố trong Python?Trong toán tử modulo Python % có sẵn để kiểm tra nếu một số chia hết cho người khác. Giả sử chúng ta phải tìm các số nguyên tố trong khoảng từ 1 đến 100, mỗi số (chúng ta hãy nói x) trong phạm vi cần được kiểm tra liên tiếp để chia giảm từ 2 đến X-1. Điều này đạt được bằng cách sử dụng hai vòng lồng nhau.employing two nested loops. |