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] vì,
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]4.
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ừ
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]5 đến
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]6 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
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]7 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
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]8 là
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]7 hoặc
True False0.
- Nếu đó là
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]
7,True False
2 không phải là số nguyên tố. - Nếu đó là
True False
0,True False
2 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
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]6.
Chúng tôi có thể đã sử dụng phạm vi,
True False6 hoặc
True False7. 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
True False8 để thực hiện nhiệm vụ này mà không cần sử dụng biến
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]8 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
def isprime[num]: if num==2 or num==3: return True if num%2==0 or 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ương pháp này được thực hiện bằng chức năng. Nó sẽ trả về đúng nếu số là số nguyên tố. Nếu không, nó sẽ trả về sai. Đầu tiên kiểm tra với 15 và sau đó với 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"]
81.4 Mã
Phương pháp này được thực hiện bằng chức năng. Nó sẽ trả về đúng nếu số là số nguyên tố. Nếu không, nó sẽ trả về kiểm tra đầu tiên giả với 64 và sau đó với 5.
Phương pháp 2: Sử dụng các câu lệnh IF-Else để kiểm tra xem một số có phải là số nguyên tố hay không
Mã này thường sử dụng các vòng lặp. Ở đây chúng tôi đang nhận được một số làm đầu vào từ người dùng. Nó thực hiện mã và cung cấp kết quả cho người dùng. Nếu người dùng cho 1 làm đầu vào, nó sẽ không hiển thị nguyên tố cũng không tổng hợp.
Phương pháp 3: Sử dụng chức năng toán học để kiểm tra xem một số có phải là số nguyên tố hay không
# 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Đầu ra
407 is not a prime number 11 times 37 is 4070
Mã 1.2
407 is not a prime number 11 times 37 is 4071
Đầu ra
407 is not a prime number 11 times 37 is 4072
Mã 1.2
407 is not a prime number 11 times 37 is 4073
Đầu ra
407 is not a prime number 11 times 37 is 4070
Mã 1.2
Phương pháp này được thực hiện bằng chức năng. Nó sẽ trả về đúng nếu số là số nguyên tố. Nếu không, nó sẽ trả về sai. Đầu tiên kiểm tra với 13 và sau đó với 18.
407 is not a prime number 11 times 37 is 4075
Cú pháp
407 is not a prime number 11 times 37 is 4076
Tham số
n - nó là số đầu vào
Trả lại
Giá trị boolean
Mã số
407 is not a prime number 11 times 37 is 4077
Đầu ra
407 is not a prime number 11 times 37 is 4070
Phương pháp 6: Sử dụng chức năng IS_Integer để kiểm tra xem số là số nguyên tố hay không
IS_Integer là một hàm tích hợp, kiểm tra TOS hữu ích nếu số đã cho là số nguyên hay không. Nó cũng hữu ích để kiểm tra xem nó có phải là nguyên tố hay không. that is useful tos check if the given number is an integer or not. It is also useful to check if it is prime or not.
Cú pháp
407 is not a prime number 11 times 37 is 4079
Tham số
n - nó là số đầu vào
Trả lại
Giá trị boolean
Mã số
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]0
Đầu ra
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]1
Phương pháp 6: Sử dụng chức năng IS_Integer để kiểm tra xem số là số nguyên tố hay không
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]2
Đầu ra
def isprime[num]: for n in range[2,int[num**0.5]+1]: if num%n==0: return False return True print[isprime[7]] print[isprime[8]]3
Phương pháp 6: Sử dụng chức năng IS_Integer để kiểm tra xem số là số nguyên tố hay không
IS_Integer là một hàm tích hợp, kiểm tra TOS hữu ích nếu số đã cho là số nguyên hay không. Nó cũng hữu ích để kiểm tra xem nó có phải là nguyên tố hay không.
Cú pháp
số nổi
Giá trị Boolean [Đúng hoặc Sai]
Tìm hiểu một cái gì đó mới: Làm thế nào để tạo ra một số nguyên tố ngẫu nhiên?