Tìm số nguyên to trong python

In các số nguyên tố nhỏ hơn n bằng Python



Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python liệt kê các số nguyên tố không quá n.
Yêu cầu kiến thức:

  • Áp dụng vòng lặp for trong Python để ràng buộc số lần lặp
  • Kiểm tra tính chất của số nguyên tố

Code tham khảo dưới đây được viết bằng Python 3.8:


# Ho ten: Hoang Van Tuan
# Website: timoday.edu.vn
import math


def isPrimeNum[n]:
    if n < 2:
        return False
    tg = int[math.sqrt[n]]
    for i in range[2, tg + 1]:
        if [n % i] == 0:
            return False
    return True


n = int[input['Nhap vao so nguyen duong n = ']]
print['Cac so nguyen to khong qua ', n, ' la:']
if n >= 2:
    print[2]
    for i in range[3, n + 1]:
        if isPrimeNum[i]:
            print[i]
        i = i + 2


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

Chúng ta đều biết số nguyên tố là số tự nhiên lớn hơn 1 không phải là tích của hai số tự nhiên nhỏ hơn. Nói cách khác, số nguyên tố là những số chỉ có đúng hai ước số là 1 và chính nó.

Ví dụ, chúng ta xem xét các số 2, 3, 6 như sau:

Số 2 chỉ có đúng hai ước số là 1 và chính nó nên là số nguyên tố
Số 3 chỉ có đúng hai ước số là 1 và chính nó nên là số nguyên tố
Số 6 có 4 ước số là 1, 2 , 3 và 6, do đó nó không phải là số nguyên tố.

Kiểm tra số nguyên tố trong python

Số nguyên tố là số lớn hơn 1 và chỉ có đúng hai ước số là 1 và chính nó. Bởi vậy nếu số đã cho có nhiều hơn dù chỉ 1 ước số khác số 1 và chính nó thì nó không phải là số nguyên tố.

Để làm được điều này, chúng ta chỉ cần kiểm tra trong phạm vi lớn hơn 1 và nhỏ hơn số đã cho có tồn tại ước số nào không, và nếu tồn tại dù chỉ một ước số thì có thể khẳng định số đã cho không phải là số nguyên tố.

Dựa vào điều này mà chúng ta có thể tạo hàm kiểm tra số nguyên tố trong python như sau:

Copy
def check_prime_number[n]:
#flag = 0 => không phải số nguyên tố
#flag = 1 => số nguyên tố
flag = 1;
if [n trả về 0

#Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không
for p in range[2, n]:
if n % p == 0:
flag = 0
break #Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp
return flag

Chúng ta có thể gọi hàm này và sử dụng để viết chương trình python kiểm tra số nguyên tố như dưới đây. Chương trình này có tác dụng nhập n kiểm tra n có phải số nguyên tố không không python.

Copy
def check_prime_number[n]:
#flag = 0 => không phải số nguyên tố
#flag = 1 => số nguyên tố
flag = 1;
if [n trả về 0

#Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không
for p in range[2, n]:
if n % p == 0:
flag = 0
break #Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp
return flag

n = int[input[">> nhap so tu nhien: "]]


check = check_prime_number[n];

if check == 1:
print[n," la so nguyen to"]
else:
print[n,"khong phai so nguyen to"]

Màn hình nhập liệu và kết quả chương trình python kiểm tra số nguyên tố sẽ như sau:

Copy
>> nhap so tu nhien: 1
1 khong phai so nguyen to

>> nhap so tu nhien: 2
2 la so nguyen to

>> nhap so tu nhien: 3
3 la so nguyen to

>> nhap so tu nhien: 4
4 khong phai so nguyen to

>> nhap so tu nhien: 6
6 khong phai so nguyen to

Liệt kê tất cả các số nguyên tố nhỏ hơn n

Sử dụng phương pháp ở trên, chúng ta có thể liệt kê tất cả các số nguyên tố nhỏ hơn n bằng python.

Và dưới đây là ví dụ về chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n trong python:

Copy
def check_prime_number[n]:
#flag = 0 => không phải số nguyên tố
#flag = 1 => số nguyên tố
flag = 1;
if [n trả về 0

#Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không
for p in range[2, n]:
if n % p == 0:
flag = 0
break #Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp
return flag

n = int[input[">> nhap mot so n: "]]
for i in range[n]:
check = check_prime_number[i]
if[ check == 1 ] :
print[i]

Kết quả:

Copy
>> nhap mot so n: 20
2
3
5
7
11
13
17
19

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách kiểm tra số nguyên tố trong python, cũng như cách liệt kê tất cả các số nguyên tố nhỏ hơn n bằng python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

URL Link

//laptrinhcanban.com/python/nhap-mon-lap-trinh-python/so-trong-python/kiem-tra-so-nguyen-to-trong-python/

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA

Bài viết liên quan

  • Chuyển chuỗi thành số trong python

  • Kiểm tra số chính phương trong python

  • Kiểm tra số đối xứng trong python

  • Kiểm tra số nguyên trong python

  • Kiểm tra số chẵn lẻ trong python

  • Làm tròn số trong python bằng hàm round

  • Kiểm tra số hoàn hảo trong python

  • Các loại số trong python

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › python cơ bản - lập trình python cho người mới bắt đầu>>05. số trong python

Bài sau

Kiểm tra số nguyên trong python

Bài tiếp

Thay thế ký tự trong chuỗi python

  • Bài viết mới nhất

  • Tách chuỗi trong PHP [explode, preg_split] tháng 9 17, 2022

  • Cắt chuỗi trong PHP [substr, mb_substr] tháng 9 17, 2022

  • Tách chuỗi thành mảng trong PHP [explode] tháng 9 17, 2022

  • Tìm kiếm chuỗi trong PHP [strpos] tháng 9 17, 2022

  • Đếm số lần xuất hiện của ký tự và chuỗi trong chuỗi PHP [substr_count] tháng 9 17, 2022

  • Tách từng ký tự trong chuỗi PHP [substr, preg_split] tháng 9 17, 2022

  • Chuyển chuỗi thành mảng trong PHP [str_split, mb_str_split] tháng 9 17, 2022

  • Xóa ký tự trong chuỗi PHP tháng 9 15, 2022

Profile

Tác giả : Kiyoshi [Chis Thanh]

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Chủ Đề