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"]
0.- Nếu đó là
True
,
2 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à ____10,
2 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"]
6 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"]
7. 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"]
8 để thực hiện nhiệm vụ này mà không cần sử dụng biến bổ sung flag
.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 4070 để 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"]
2 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 4072 của vòng lặp
407 is not a prime number 11 times 37 is 4073 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 4073. Đ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 4072, chúng tôi in rằng số đó là số nguyên tố.
Tôi cá là mọi người đều biết số nguyên tố và số tổng hợp là gì. Số nguyên tố là những người có yếu tố 1 và chính nó. Trong khi đó, số tổng hợp là những người có các yếu tố bên cạnh 1 và chính nó. Đây là khái niệm mà tôi đã từng lập trình cho Python. Tôi đã không sử dụng trợ giúp hoặc hướng dẫn của bất kỳ trang web học tập trực tuyến hoặc YouTube nào để viết mã. Tôi đã tự viết ra mã giả và sau đó cố gắng viết mã trong Python. Tôi hy vọng tất cả các bạn có thể làm như vậy. Đầu tiên học hỏi và thực hành và thực hành. Nếu cuối cùng nó không giúp được thì hãy tìm kiếm sự trợ giúp hoặc các tùy chọn khác. Đây là mã giả đơn giản của tôi.
Input=int[input["Enter a number to check: "]]
count=0
for Number in range[1,Input+1]:
Remainder=Input%Number
if [Remainder==0]:
count=count+1
if [count==1]:
print["The number is neither prime nor composite."]
if[count==2]:
print["The number is a prime number."]
elif[count>=3]:
print["The number is a composite number."]
Đầu ra do tôi thực hiện như sau. Tôi có thể chạy thành công mã và hiển thị đầu ra chính xác ở lần thử đầu tiên.
Chạy mã này trực tuyến tại đây.