Trong bài viết này, chúng ta sẽ viết một chương trình bằng Python để kiểm tra xem số nhập vào có phải là số nguyên tố hay không. Một số được gọi là số nguyên tố nếu nó chỉ chia hết cho 1 và chính nó. Ví dụ 13 là số nguyên tố vì nó chỉ chia hết cho 1 và 13, mặt khác 12 không phải là số nguyên tố vì nó chỉ chia hết cho 2, 4, 6 và chính nó
Một số nguyên tố luôn dương vì vậy chúng tôi đang kiểm tra điều đó trong phần đầu của chương trình
Chúng tôi đang chia số đầu vào cho tất cả các số trong phạm vi từ 2 đến (số – 1) để xem liệu có bất kỳ ước số dương nào ngoài 1 và chính số đó không
Nếu bất kỳ ước nào được tìm thấy thì chúng tôi hiển thị rằng “số không phải là số nguyên tố”, ngược lại chúng tôi hiển thị rằng “số là số nguyên tố”
Chúng tôi đang sử dụng câu lệnh break trong vòng lặp để ra khỏi vòng lặp ngay khi tìm thấy bất kỳ ước số dương nào vì không cần kiểm tra thêm
Nếu số tự nhiên lớn hơn 1 và không có ước dương nào khác ngoài 1 và chính số đó, v.v.
Ví dụ. 3, 7, 11 là các số nguyên tố
Hợp số
Các số tự nhiên khác không phải là số nguyên tố được gọi là hợp số
Ví dụ. 4, 6, 9, v.v. là hợp số
Chúng ta hãy xem ví dụ sau để hiểu việc thực hiện
Thí dụ
đầu ra
Enter an input number:17
17 is a prime number
Giải trình
Chúng ta đã sử dụng điều kiện if lồng nhau để kiểm tra xem một số có phải là số nguyên tố hay không
Đầu tiên, chúng tôi đã kiểm tra xem số đã cho có lớn hơn 1 hay không. Nếu nó không lớn hơn 1, thì số đó sẽ trực tiếp đến phần khác và in ra 'không phải là số nguyên tố. '
Bây giờ, số sẽ nhập vào vòng lặp for nơi chúng tôi thực hiện Lặp lại từ 2 đến số/2. Sau đó, chúng ta sử dụng điều kiện if lồng nhau bên trong vòng lặp for. Nếu số đó chia hết cho 'i' thì đó không phải là số nguyên tố;
Số nguyên tố là số tự nhiên lớn hơn 1 và không có ước nào ngoài 1 và chính nó. Bạn có thể viết một mã bằng Python sẽ giúp bạn tìm tất cả các số nguyên tố
Khóa học đầy đủ về Python – Học Python trong 12 giờ. Hướng dẫn Python cho người mới bắt đầu. Edureka
Khóa học đầy đủ về Python của Edureka này giúp bạn trở thành bậc thầy về các khái niệm lập trình Python cơ bản và nâng cao
Trong bài viết này, chúng ta sẽ xem cách viết chương trình số nguyên tố bằng Python theo trình tự sau
Bắt đầu nào
Một số nguyên tố là gì?
Số nguyên dương lớn hơn 1 không có ước nào khác ngoài 1 và chính nó được gọi là số nguyên tố. Các số 2, 3, 5, 7, v.v. là các số nguyên tố vì chúng không có thừa số nào khác. Để tìm một số nguyên tố trong Python, bạn phải lặp lại giá trị từ đầu đến cuối bằng cách sử dụng a và với mọi số, nếu nó lớn hơn 1, hãy kiểm tra xem nó có chia hết cho n không. Nếu chúng tôi tìm thấy bất kỳ số nào khác chia, hãy in giá trị đó
Tìm hiểu khóa đào tạo Python của chúng tôi tại các thành phố/quốc gia hàng đầu
Chương trình Python để kiểm tra số nguyên tố
Số nguyên tố luôn dương và nó sẽ được kiểm tra ngay từ đầu chương trình. Tại đây, bạn sẽ chia số vừa nhập cho tất cả các số để xem có ước dương nào khác ngoài 1 và chính số đó không. Nếu bất kỳ ước nào được tìm thấy thì chúng tôi hiển thị rằng “số không phải là số nguyên tố”, ngược lại chúng tôi hiển thị rằng “số là số nguyên tố”
chương trình Python
num = 13
if num > 1:
for i in range(2, num//2):
if (num % i) == 0:
print(num, "is not a prime number")
break
else:
print(num, "is a prime number")
else:
print(num, "is not a prime number")
đầu ra. 13 là một số nguyên tố
Phương pháp tối ưu hóa
Có nhiều cách khác nhau để tối ưu hóa chương trình số nguyên tố trong Python
- Thay vì kiểm tra đến n, chúng ta có thể kiểm tra đến √n vì thừa số lớn hơn của n phải là bội số của thừa số nhỏ hơn đã được kiểm tra
- Thuật toán có thể được cải thiện hơn nữa bằng cách quan sát rằng tất cả các số nguyên tố đều có dạng 6k ± 1, ngoại trừ 2 và 3. Điều này là do tất cả các số nguyên có thể được biểu diễn dưới dạng (6k + i) đối với một số nguyên k và với i = ?1, 0, 1, 2, 3 hoặc 4; . Vì vậy, một phương pháp hiệu quả hơn là kiểm tra xem n có chia hết cho 2 hay 3 hay không, sau đó kiểm tra tất cả các số có dạng 6k ± 1
Thí dụ
def isPrime(n) :
if (n <= 1) :
return False
if (n <= 3) :
return True
if (n % 2 == 0 or n % 3 == 0) :
return False
i = 5
while(i * i <= n) :
if (n % i == 0 or n % (i + 2) == 0) :
return False
i = i + 6
return True
if (isPrime(11)) :
print(" true")
else :
print(" false")
if(isPrime(15)) :
print(" true")
else :
print(" false")
Với điều này, chúng tôi đã đi đến cuối bài viết của chúng tôi. Tôi hy vọng bạn đã hiểu cách viết chương trình số nguyên tố trong Lập trình Python
Để có kiến thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký đào tạo Chứng chỉ Python trực tiếp với sự hỗ trợ 24/7 và quyền truy cập trọn đời.
Có một câu hỏi cho chúng tôi?
Luôn dẫn đầu về công nghệ với Chương trình Sau đại học về AI và Học máy này với sự hợp tác của Học viện E&ICT, Viện Công nghệ Quốc gia, Warangal. Khóa học Trí tuệ nhân tạo này được tuyển chọn để mang lại kết quả tốt nhất