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
,
4 không phải là số nguyên tố.# 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"]
- Nếu đó là
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ố.# 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"]
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 4070 để 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 4072 để 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 4074 của vòng lặp
407 is not a prime number 11 times 37 is 4075 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 4075. Đ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 4074, 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ả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.
Số nguyên tố là gì
Một số nguyên tố là một số tự nhiên lớn hơn 1 không có các ước số dương ngoài 1 và chính nó. Một vài số nguyên tố đầu tiên là {2, 3, 5, 7, 11, phạm.}. & Nbsp;
Chương trình số nguyên tố trong Python & NBSP;
Python3
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.
407 is not a prime number 11 times 37 is 4078
407 is not a prime number 11 times 37 is 4079
Input: n = 11 Output: True Input: n = 1 Output: False0
Input: n = 11 Output: True Input: n = 1 Output: False1
Input: n = 11 Output: True Input: n = 1 Output: False2
Input: n = 11 Output: True Input: n = 1 Output: False3
Input: n = 11 Output: True Input: n = 1 Output: False4
2 x 3 = 6
02 x 3 = 6
12 x 3 = 6
22 x 3 = 6
3
11 is a prime number7
2 x 3 = 6
02 x 3 = 6
6
Input: n = 11 Output: True Input: n = 1 Output: False5
407 is not a prime number 11 times 37 is 4074
Input: n = 11 Output: True Input: n = 1 Output: False4
False1
2 x 3 = 6
12 x 3 = 6
22
311 is a prime number7
407 is not a prime number 11 times 37 is 4074
Input: n = 11 Output: True Input: n = 1 Output: False4
Input: n = 11 Output: True Input: n = 1 Output: False5
2 x 3 = 6
12 x 3 = 6
22 x 3 = 6
311 is a prime number7
Input: n = 11
Output: True
Input: n = 1
Output: False
5407 is not a prime number
11 times 37 is 407
5 Input: n = 11
Output: True
Input: n = 1
Output: False
7Input: n = 11
Output: True
Input: n = 1
Output: False
8 Input: n = 11
Output: True
Input: n = 1
Output: False
911 is a prime number
02
____4211 is a prime number
311 is a prime number
44454545
11 is a prime number
False
1Input: n = 11
Output: True
Input: n = 1
Output: False
1 False
3False
4 False
5407 is not a prime number
11 times 37 is 407
9407 is not a prime number
11 times 37 is 407
9
Đầu ra
Python3
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]
num - 1
2 num - 1
3num - 1
4 num - 1
5
Input: n = 11 Output: True Input: n = 1 Output: False1
True
3Input: n = 11 Output: True Input: n = 1 Output: False3
False0
num - 1
6
407 is not a prime number 11 times 37 is 4079
Input: n = 11 Output: True Input: n = 1 Output: False3
num - 1
9
407 is not a prime number 11 times 37 is 4079
False8
2 x 3 = 6
0num - 1
9
407 is not a prime number 11 times 37 is 4079
Input: n = 11 Output: True Input: n = 1 Output: False3
2 x 3 = 6
02 x 3 = 6
6
Input: n = 11 Output: True Input: n = 1 Output: False5
Input: n = 11 Output: True Input: n = 1 Output: False1
# 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"]
26407 is not a prime number 11 times 37 is 4079
407 is not a prime number 11 times 37 is 4079
False8
False0
False1
2 x 3 = 6
111 is a prime number0
# 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"]
3411 is a prime number7
Input: n = 11 Output: True Input: n = 1 Output: False5
407 is not a prime number 11 times 37 is 4074
Input: n = 11 Output: True Input: n = 1 Output: False4
False1
2 x 3 = 6
111 is a prime number0
# 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"]
4211 is a prime number7
407 is not a prime number 11 times 37 is 4074
Input: n = 11 Output: True Input: n = 1 Output: False4
Input: n = 11 Output: True Input: n = 1 Output: False5
2 x 3 = 6
111 is a prime number0
# 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"]
4211 is a prime number7
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