Hướng dẫn check prime number in python - kiểm tra số nguyên tố trong python

Ví dụ để kiểm tra xem một số nguyên có phải là số nguyên tố hay không sử dụng cho vòng lặp và nếu ... câu lệnh khác. Nếu số không phải là nguyên tố, nó được giải thích trong đầu ra tại sao nó không phải là số nguyên tố.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python nếu ... tuyên bố khác
  • Python cho vòng lặp
  • Python nghỉ và tiếp tục

Một số nguyên dương lớn hơn 1 không có yếu tố nào khác ngoại trừ 1 và bản thân số được gọi là số nguyên tố. 2, 3, 5, 7, vv là số nguyên tố vì chúng không có bất kỳ yếu tố nào khác. Nhưng 6 không phải là nguyên tố (nó là tổng hợp) kể từ, 2 x 3 = 6.


Ví dụ 1: Sử dụng biến cờ

# Program to check if a number is prime or not

num = 29

# To take input from the user
#num = int(input("Enter a number: "))

# define a flag variable
flag = False

# prime numbers are greater than 1
if num > 1:
    # check for factors
    for i in range(2, num):
        if (num % i) == 0:
            # if factor is found, set flag to True
            flag = True
            # break out of loop
            break

# check if flag is True
if flag:
    print(num, "is not a prime number")
else:
    print(num, "is a prime number")

Trong chương trình này, chúng tôi đã kiểm tra xem Num có phải là nguyên tố hay không. Số ít hơn hoặc bằng 1 không phải là số nguyên tố. Do đó, chúng tôi chỉ tiến hành nếu num lớn hơn 1.

Chúng tôi kiểm tra xem Num có chính xác chia hết cho bất kỳ số nào từ 2 đến num - 1 không. Nếu chúng ta tìm thấy một yếu tố trong phạm vi đó, số không phải là số nguyên tố, vì vậy chúng ta đặt cờ thành True và thoát ra khỏi vòng lặp.

Bên ngoài vòng lặp, chúng tôi kiểm tra xem

# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")
0 là True hoặc
# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")
2.

  • Nếu đó là True,
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    4 không phải là số nguyên tố.
  • Nếu đó là
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    2,
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    4 là số nguyên tố.

Lưu ý: Chúng tôi có thể cải thiện chương trình của mình bằng cách giảm phạm vi số mà chúng tôi tìm kiếm các yếu tố.: We can improve our program by decreasing the range of numbers where we look for factors.

Trong chương trình trên, phạm vi tìm kiếm của chúng tôi là từ 2 đến num - 1.

Chúng tôi có thể đã sử dụng phạm vi,

# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")
8 hoặc
# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")
9. Phạm vi thứ hai dựa trên thực tế là một số tổng hợp phải có hệ số nhỏ hơn hoặc bằng căn bậc hai của số đó. Nếu không, số là số nguyên tố.

Bạn có thể thay đổi giá trị của Biến số trong mã nguồn trên để kiểm tra xem một số là số nguyên tố hay không cho các số nguyên khác.

Trong Python, chúng ta cũng có thể sử dụng câu lệnh

407 is not a prime number
11 times 37 is 407
0 để thực hiện nhiệm vụ này mà không cần sử dụng biến bổ sung ____10.


Ví dụ 2: Sử dụng một câu lệnh ...

# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")

Đầu ra

407 is not a prime number
11 times 37 is 407

Ở đây, chúng tôi đã sử dụng một câu lệnh

407 is not a prime number
11 times 37 is 407
2 để kiểm tra xem
# Program to check if a number is prime or not

num = 407

# To take input from the user
#num = int(input("Enter a number: "))

# prime numbers are greater than 1
if num > 1:
   # check for factors
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"is not a prime number")
           print(i,"times",num//i,"is",num)
           break
   else:
       print(num,"is a prime number")
       
# if input number is less than
# or equal to 1, it is not prime
else:
   print(num,"is not a prime number")
4 có phải là chính không.

Nó hoạt động theo logic rằng mệnh đề

407 is not a prime number
11 times 37 is 407
4 của vòng lặp
407 is not a prime number
11 times 37 is 407
5 chạy nếu và chỉ khi chúng ta không phá vỡ vòng lặp
407 is not a prime number
11 times 37 is 407
5. Điều kiện đó chỉ được đáp ứng khi không tìm thấy yếu tố nào, điều đó có nghĩa là số đã cho là số nguyên tố.

Vì vậy, trong mệnh đề

407 is not a prime number
11 times 37 is 407
4, chúng tôi in rằng số đó là số nguyên tố.

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Examples: 

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False

    Bàn luận

    Với số nguyên dương N, nhiệm vụ là viết một chương trình Python để kiểm tra xem số đó có phải là số nguyên tố hay không trong Python.

    Chương trình số nguyên tố trong Python & NBSP;

    Phương pháp 1: & NBSP;

    Ý tưởng để giải quyết vấn đề này là lặp lại thông qua tất cả các số bắt đầu từ 2 đến (n/2) bằng cách sử dụng vòng lặp và cho mỗi số kiểm tra xem nó có phân chia N. Nếu chúng tôi tìm thấy bất kỳ số nào phân chia, chúng tôi sẽ trả về sai. Nếu chúng ta không tìm thấy bất kỳ số nào giữa 2 và N/2, chia r, điều đó có nghĩa là N là nguyên tố và chúng ta sẽ trả về đúng.

    Python3

    407 is not a prime number
    11 times 37 is 407
    8
    407 is not a prime number
    11 times 37 is 407
    9
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    0

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    1
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    2
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    3
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    4

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    5
    407 is not a prime number
    11 times 37 is 407
    5
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    7
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    8
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    9
    11 is a prime number
    02____42
    11 is a prime number
    3
    11 is a prime number
    44454545

    False
    1
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    1
    False
    3
    False
    4
    False
    5
    407 is not a prime number
    11 times 37 is 407
    9
    407 is not a prime number
    11 times 37 is 407
    9

    2 x 3 = 602 x 3 = 612 x 3 = 622 x 3 = 63

    11 is a prime number
    7

    2 x 3 = 602 x 3 = 66

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    5
    407 is not a prime number
    11 times 37 is 407
    4
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    4

    False
    12 x 3 = 612 x 3 = 6223
    11 is a prime number
    7

    407 is not a prime number
    11 times 37 is 407
    4
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    4

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    52 x 3 = 612 x 3 = 622 x 3 = 63
    11 is a prime number
    7

    Đầu ra

    11 is a prime number

    Phương pháp 2: Thuật toán nhanh nhất để tìm số nguyên tố

    Thay vì kiểm tra cho đến N, chúng ta có thể kiểm tra cho đến khi một hệ số n lớn hơn phải là bội số của một yếu tố nhỏ hơn đã được kiểm tra. Bây giờ, hãy để xem mã cho phương thức tối ưu hóa đầu tiên (nghĩa là kiểm tra cho đến √n)

    Python3

    num - 12 num - 13num - 14 num - 15

    num - 16

    407 is not a prime number
    11 times 37 is 407
    9
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    3

    num - 19

    407 is not a prime number
    11 times 37 is 407
    9
    False
    8

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    1True3
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    3
    False
    0

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    5
    407 is not a prime number
    11 times 37 is 407
    5
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    7
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    8

    False
    1
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    1
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    11
    False
    4
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    7
    407 is not a prime number
    11 times 37 is 407
    9
    407 is not a prime number
    11 times 37 is 407
    9

    2 x 3 = 60num - 19

    407 is not a prime number
    11 times 37 is 407
    9
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    3

    2 x 3 = 602 x 3 = 66

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    5
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    1
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    26
    407 is not a prime number
    11 times 37 is 407
    9
    407 is not a prime number
    11 times 37 is 407
    9
    False
    8
    False
    0

    False
    12 x 3 = 61
    11 is a prime number
    0
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    34
    11 is a prime number
    7

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    5
    407 is not a prime number
    11 times 37 is 407
    4
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    4

    False
    12 x 3 = 61
    11 is a prime number
    0
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    42
    11 is a prime number
    7

    407 is not a prime number
    11 times 37 is 407
    4
    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    4

    Input:  n = 11
    Output: True
    
    
    Input:  n = 1
    Output: False
    52 x 3 = 61
    11 is a prime number
    0
    # Program to check if a number is prime or not
    
    num = 407
    
    # To take input from the user
    #num = int(input("Enter a number: "))
    
    # prime numbers are greater than 1
    if num > 1:
       # check for factors
       for i in range(2,num):
           if (num % i) == 0:
               print(num,"is not a prime number")
               print(i,"times",num//i,"is",num)
               break
       else:
           print(num,"is a prime number")
           
    # if input number is less than
    # or equal to 1, it is not prime
    else:
       print(num,"is not a prime number")
    42
    11 is a prime number
    7

    Output:

    False

    Bài viết được đề xuất - Phân tích các phương pháp khác nhau để tìm số nguyên tố trong Python Analysis of Different Methods to find Prime Number in Python


    Công thức để kiểm tra số nguyên tố là gì?

    Để tìm ra một số lớn hơn là số nguyên tố hay không, hãy thêm tất cả các chữ số trong một số, nếu tổng là chia hết cho 3 thì đó không phải là số nguyên tố.Ngoại trừ 2 và 3, tất cả các số nguyên tố khác có thể được biểu thị ở dạng chung là 6n + 1 hoặc 6n - 1, trong đó n là số tự nhiên.add all the digits in a number, if the sum is divisible by 3 it is not a prime number. Except 2 and 3, all the other prime numbers can be expressed in the general form as 6n + 1 or 6n - 1, where n is the natural number.

    Là một số một số python số nguyên tố?

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

    Có thư viện số nguyên tố trong Python không?

    Primpy là Thư viện Python được sử dụng để tính toán các hoạt động liên quan đến số nguyên tố.Nó sẽ thực hiện tất cả các chức năng trong thời gian ngắn hơn với sự trợ giúp của các chức năng của mô -đun nguyên thủy này.. It will perform all the functions in less time with the help of the functions of this primePy module.