Trình tạo số nguyên tố trong Python là gì?

Số nguyên tố là số tự nhiên lớn hơn 1 và không có ước dương nào khác ngoài 1 và chính nó, chẳng hạn như 2, 3, 5, 7, 11, 13, v.v.

Người dùng được cung cấp hai số nguyên, giá trị thấp hơn và giá trị cao hơn. Nhiệm vụ là viết chương trình Python để in tất cả các số nguyên tố nằm trong khoảng (hoặc khoảng) đã cho

Để in tất cả các số nguyên tố trong khoảng thời gian đã cho, người dùng phải làm theo các bước sau

  • Bước 1. Lặp qua tất cả các phần tử trong phạm vi đã cho
  • Bước 2. Kiểm tra từng số xem nó có thừa số nào giữa 1 và chính nó không
  • Bước 3. Nếu có, thì số đó không phải là số nguyên tố và nó sẽ chuyển sang số tiếp theo
  • Bước 4. Nếu không, đó là số nguyên tố và chương trình sẽ in ra và kiểm tra số tiếp theo
  • Bước 5. Vòng lặp sẽ bị ngắt khi đạt đến giá trị trên

Thí dụ. Mã Python để in số nguyên tố giữa khoảng thời gian đã cho

đầu ra

Please, Enter the Lowest Range Value:  14
Please, Enter the Upper Range Value:  97
The Prime Numbers in the range are: 
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

Phần kết luận

Trong hướng dẫn này, chúng tôi đã chỉ ra cách viết mã để in các số nguyên tố giữa khoảng các số đã cho.

Số nguyên dương lớn hơn 1 không có ước nào khác ngoài 1 và chính số đó gọi là số nguyên tố

2, 3, 5, 7, v.v. là các số nguyên tố vì chúng không có thừa số nào khác. Nhưng 6 không phải là số nguyên tố (nó là hợp số) vì, 2 x 3 = 6

Mã nguồn

# Python program to display all the prime numbers within an interval

lower = 900
upper = 1000

print("Prime numbers between", lower, "and", upper, "are:")

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

đầu ra

Prime numbers between 900 and 1000 are:
907
911
919
929
937
941
947
953
967
971
977
983
991
997

Ở đây, chúng tôi lưu trữ khoảng dưới dạng thấp hơn cho khoảng dưới và trên cho khoảng trên và tìm các số nguyên tố trong phạm vi đó. Truy cập trang này để tìm hiểu cách kiểm tra xem một số có phải là số nguyên tố hay không

Có một số vấn đề với mã của bạn

  • Bạn đang in số đếm mà không chia cho X
  • Bạn đang sử dụng ngắt thay vì tiếp tục, ngắt dừng quá trình lặp lại và tiếp tục chuyển sang lần lặp tiếp theo

Đây là mã làm việc

import math


def main():

    count = 3

    

    while True:

        isprime = True

        

        for x in range(2, int(math.sqrt(count) + 1)):

            if count % x == 0: 

                isprime = False

                break

        

        if isprime:

            print count

        

        count += 1

Đối với một trình tạo số nguyên tố hiệu quả hơn nhiều, hãy sử dụng cái này

# Sieve of Eratosthenes

# Code by David Eppstein, UC Irvine, 28 Feb 2002

# http://code.activestate.com/recipes/117119/


def gen_primes():

    """ Generate an infinite sequence of prime numbers.

    """

    # Maps composites to primes witnessing their compositeness.

    # This is memory efficient, as the sieve is not "run forward"

    # indefinitely, but only as long as required by the current

    # number being tested.

    #

    D = {}

    

    # The running integer that's checked for primeness

    q = 2

    

    while True:

        if q not in D:

            # q is a new prime.

            # Yield it and mark its first multiple that isn't

            # already marked in previous iterations

            # 

            yield q

            D[q * q] = [q]

        else:

            # q is composite. D[q] is the list of primes that

            # divide it. Since we've reached q, we no longer

            # need it in the map, but we'll mark the next 

            # multiples of its witnesses to prepare for larger

            # numbers

            # 

            for p in D[q]:

                D.setdefault(p + q, []).append(p)

            del D[q]

        

        q += 1

Tôi hy vọng cái này sẽ giúp bạn

Số nguyên tố là số tự nhiên lớn hơn 1 và không có ước nào ngoài 1 và chính nó. Bạn có thể viết một mã bằng Python sẽ giúp bạn tìm tất cả các số nguyên tố

Khóa học đầy đủ về Python – Học Python trong 12 giờ. Hướng dẫn Python cho người mới bắt đầu. Edureka

Khóa học đầy đủ về Python của Edureka này giúp bạn trở thành bậc thầy về các khái niệm lập trình Python cơ bản và nâng cao

Trong bài viết này, chúng ta sẽ xem cách viết chương trình số nguyên tố bằng Python theo trình tự sau

Bắt đầu nào

Một số nguyên tố là gì?

Số nguyên dương lớn hơn 1 không có ước nào khác ngoài 1 và chính nó được gọi là số nguyên tố. Các số 2, 3, 5, 7, v.v. là các số nguyên tố vì chúng không có thừa số nào khác. Để 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 a và với mọi số, nếu nó lớn hơn 1, hãy kiểm tra xem nó có chia hết cho n không. Nếu chúng tôi tìm thấy bất kỳ số nào khác chia, hãy in giá trị đó

Tìm hiểu khóa đào tạo Python của chúng tôi tại các thành phố/quốc gia hàng đầu

Chương trình Python để kiểm tra số nguyên tố

Số nguyên tố luôn dương và nó sẽ được kiểm tra ngay từ đầu chương trình. Tại đây, bạn sẽ chia số vừa nhập cho tất cả các số để xem có ước dương nào khác ngoài 1 và chính số đó không. Nếu bất kỳ ước nào được tìm thấy thì chúng tôi hiển thị rằng “số không phải là số nguyên tố”, ngược lại chúng tôi hiển thị rằng “số là số nguyên tố”

chương trình Python

num = 13
if num > 1:
for i in range(2, num//2):
if (num % i) == 0:
print(num, "is not a prime number")
break
else:
print(num, "is a prime number")
else:
print(num, "is not a prime number")

đầu ra. 13 là một số nguyên tố

Phương pháp tối ưu hóa

Có nhiều cách khác nhau để tối ưu hóa chương trình số nguyên tố trong Python

  • Thay vì kiểm tra đến n, chúng ta có thể kiểm tra đến √n vì thừa số lớn hơn của n phải là bội số của thừa số nhỏ hơn đã được kiểm tra
  • Thuật toán có thể được cải thiện hơn nữa bằng cách quan sát rằng tất cả các số nguyên tố đều có dạng 6k ± 1, ngoại trừ 2 và 3. Điều này là do tất cả các số nguyên có thể được biểu diễn dưới dạng (6k + i) đối với một số nguyên k và với i = ?1, 0, 1, 2, 3 hoặc 4; . Vì vậy, một phương pháp hiệu quả hơn là kiểm tra xem n có chia hết cho 2 hay 3 hay không, sau đó kiểm tra tất cả các số có dạng 6k ± 1

Thí dụ

def isPrime(n) :
if (n <= 1) :
return False
if (n <= 3) :
return True
if (n % 2 == 0 or n % 3 == 0) :
return False
i = 5
while(i * i <= n) :
if (n % i == 0 or n % (i + 2) == 0) :
return False
i = i + 6
return True
if (isPrime(11)) :
print(" true")
else :
print(" false")
if(isPrime(15)) :
print(" true")
else :
print(" false")

Với điều này, chúng tôi đã đi đến cuối bài viết của chúng tôi. Tôi hy vọng bạn đã hiểu cách viết chương trình số nguyên tố trong Lập trình Python

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký đào tạo Chứng chỉ Python trực tiếp với sự hỗ trợ 24/7 và quyền truy cập trọn đời.  

Có một câu hỏi cho chúng tôi?

Luôn dẫn đầu về công nghệ với Chương trình Sau đại học về AI và Học máy này với sự hợp tác của Học viện E&ICT, Viện Công nghệ Quốc gia, Warangal. Khóa học Trí tuệ nhân tạo này được tuyển chọn để mang lại kết quả tốt nhất

Số nguyên tố có nghĩa là gì trong Python?

Các số 2, 3, 5, 7, v.v. là các số nguyên tố vì chúng không có thừa số nào khác . Để 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 vòng lặp for và với mỗi số, nếu nó lớn hơn 1, hãy kiểm tra xem nó có chia hết cho n không. Nếu chúng tôi tìm thấy bất kỳ số nào khác chia, hãy in giá trị đó.

Làm cách nào để tạo trình tạo để tạo n số nguyên tố đầu tiên trong Python?

Bây giờ, sử dụng hàm is_prime, chúng ta có thể làm. .
def prime_generator(). n = 1 trong khi Đúng. n += 1 nếu is_prime(n). năng suất n. Và đó là nó. .
trình tạo = prime_generator() cho tôi trong phạm vi (10). in (tiếp theo (máy phát điện)).
từ itertools nhập mảng islice = [x for x in islice(prime_generator(), 10)]

Trình tạo trong Python với ví dụ là gì?

Trong Python, trình tạo là hàm trả về một trình vòng lặp tạo ra một chuỗi giá trị khi được lặp lại . Trình tạo rất hữu ích khi chúng tôi muốn tạo một chuỗi giá trị lớn, nhưng chúng tôi không muốn lưu trữ tất cả chúng trong bộ nhớ cùng một lúc.

Số nguyên tố trong mã hóa là gì?

Số nguyên tố trong C. Số nguyên tố là số lớn hơn 1 và chia hết cho 1 hoặc chính nó . Nói cách khác, các số nguyên tố không thể chia hết cho các số khác ngoài chính nó hoặc 1.