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 flag
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"]
1.- Nếu đó là
True
,
3 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à
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"]
3 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"]
7 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"]
8. 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
# 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 để thực hiện nhiệm vụ này mà không cần sử dụng biến ____99 bổ sung.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 4071 để 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"]
3 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 4073 của vòng lặp
407 is not a prime number 11 times 37 is 4074 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 4074. Đ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 4073, chúng tôi in rằng số đó là số nguyên tố.
Một số nguyên tố là một số nguyên dương lớn hơn 1, chỉ chia đều cho 1 và chính nó. & NBSP; 2, 3, 5, 7, 11, 13 là một số số nguyên tố đầu tiên.
Một số sự thật thú vị về số nguyên tố -
- 2 là số chính duy nhất
- 0 và 1 không được coi là số nguyên tố
- Các số có nhiều hơn hai yếu tố được gọi là số tổng hợp.
- Không có số nguyên tố lớn hơn 5 kết thúc trong một 5. Bất kỳ số nào lớn hơn 5 kết thúc trong 5 có thể được chia cho 5.
Trong bài viết này, chúng tôi sẽ tạo một chương trình Python để kiểm tra xem số đã cho có phải là số nguyên tố hay không.
Thuật toán để kiểm tra xem một số có chính hay không
Bước 1: Lấy đầu vào từ người dùng: Take the input from User
Bước 2: Kiểm tra xem số lớn hơn 1, nếu không hơn số không phải là số nguyên tố: Check whether the number is greater than 1, if not than the number is not Prime
Bước 3: Kiểm tra xem số có được chia đều cho bất kỳ số nào từ 2 đến một nửa số không: Check if the number gets evenly divided by any number from 2 to half of the number
Bước 4: In kết quả: Print the result
Ở đây, chúng tôi đã tối ưu hóa thuật toán để tìm kiếm chỉ cho đến một nửa số đã nhất định giúp cải thiện mạnh hiệu suất cho một số lượng rất lớn.
Chương trình Python để kiểm tra xem số có chính hay không
# Taking the input from User
number = int[input["Enter The Number"]]
if number > 1:
for i in range[2,int[number/2]+1]:
if [number % i == 0]:
print[number, "is not a Prime Number"]
break
else:
print[number,"is a Prime number"]
# If the number is less than 1 it can't be Prime
else:
print[number,"is not a Prime number"]
Giải trình
Trong chương trình đã cho trước, chúng tôi đang lấy đầu vào từ & nbsp; người dùng sử dụng từ khóa
407 is not a prime number 11 times 37 is 4077 và chuyển đổi nó sang kiểu dữ liệu số nguyên trong trường hợp người dùng nhập số float. Tiếp theo, chúng tôi đang so sánh nếu số nhỏ hơn 1 vì chỉ có một số lớn hơn 1 có thể được gọi là số nguyên tố.
Bên trong vòng lặp, chúng tôi đang lặn số cho mỗi số từ 2 đến một nửa số nếu không tìm thấy yếu tố nào, số là số nguyên tố được in ra cùng với số.
Chạy chương trình cho các trường hợp thử nghiệm sau đây đã cho chúng tôi kết quả dự kiến.
Enter The Number 2
2 is a Prime number
Enter The Number 11
11 is a Prime number
Enter The Number 9729262
9729262 is not a Prime Number
Enter The Number -20
-20 is not a Prime number
Enter The Number 1
1 is not a Prime number
Chương trình