Thừa số 3 và 5 trăn

Bạn có thể đã nghe về bội và thừa số của một số trong Python. Nếu bạn đang đọc blog này, tôi chắc chắn có thể nói với bạn rằng bạn đang muốn viết một chương trình tìm thừa số của một số. Trong bài viết này, chúng ta sẽ thảo luận và cài đặt chương trình tìm thừa số của một số trong python

Thừa số của một số là gì?

Một số N được gọi là ước của một số M khác nếu N chia hết M. Nói cách khác, Nếu cho hai số N và M, khi chia M cho N không dư thì N được gọi là ước của M. Bạn cũng có thể dễ dàng nhận ra thừa số bất kì của một số luôn nhỏ hơn hoặc bằng chính số đó

Chẳng hạn, 5 là thừa số của 20 vì 20 chia cho 5 cho kết quả là 4 không có số dư.  

Làm thế nào để tìm thừa số của một số trong Python?

Để tìm các thừa số của một số M, ta có thể chia M cho các số từ 1 đến M. Khi chia M, nếu số N không dư thì ta nói N là một thừa số của M. Với mục đích này, chúng ta có thể sử dụng vòng lặp for trong python như sau

factors = set[]
M = 120  # number whose factors we need to find
for N in range[1, M + 1]:
    if M % N == 0:  # remainder is zero
        factors.add[N]
print["Factors of {} are {}".format[M, factors]]

đầu ra

Factors of 120 are {1, 2, 3, 4, 5, 6, 8, 40, 10, 12, 120, 15, 20, 24, 60, 30}

Trong ví dụ trên, chúng ta đã khai báo một tập hợp các thừa số có tên để lưu trữ các thừa số của số M. Nếu số nào chia M cho dư 0 thì ta cộng số đó vào tập hợp. Sau khi thực hiện vòng lặp for ta được tập hợp tất cả các thừa số của số M

Như ta đã biết, ước duy nhất của một số M lớn hơn M/2 là chính M. Vậy ta có thể bỏ qua phép chia M cho số lớn hơn M/2 để tìm thừa số của M hiệu quả hơn như sau

factors = set[]
M = 120  # number whose factors we need to find
factors.add[M]  # a number is a factor of itself
for N in range[1, M // 2 + 1]:
    if M % N == 0:  # remainder is zero
        factors.add[N]
print["Factors of {} are {}".format[M, factors]]

đầu ra

Factors of 120 are {1, 2, 3, 4, 5, 6, 8, 40, 10, 12, 15, 20, 120, 24, 60, 30}

Chúng tôi biết rằng các yếu tố của một số xảy ra theo cặp. Chẳng hạn, thừa số của một số M có thể có mặt trong các cặp [1, M], [2, M/2], [3, M/3], [4, M/4] cho đến [M1/2, M1 . Vì vậy, thay vì sử dụng vòng lặp for để kiểm tra các thừa số cho đến M/2, chúng ta sẽ kiểm tra các thừa số cho đến M1/2. Bất cứ khi nào chúng tôi tìm thấy một yếu tố, chúng tôi cũng sẽ lưu trữ cặp của nó trong tập hợp chứa tất cả các yếu tố. Bằng cách này, chúng ta có thể tìm các thừa số của một số trong python hiệu quả hơn

factors = set[]
M = 120  # number whose factors we need to find
factors.add[M]  # a number is a factor of itself
for N in range[1, M]:
    if N * N > M:
        break
    if M % N == 0:  # remainder is zero
        factors.add[N]
        factors.add[M // N]
print["Factors of {} are {}".format[M, factors]]

đầu ra

Factors of 120 are {1, 2, 3, 4, 5, 6, 40, 8, 10, 12, 15, 20, 120, 24, 60, 30}

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về ba chương trình tìm thừa số của một số trong python. Để tìm hiểu thêm về số trong python, bạn có thể đọc bài viết này về số thập phân trong python. Bạn cũng có thể thích bài viết này về số phức trong python

Có liên quan

Đào tạo Python được đề xuất

Khóa học. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

Tất cả các số tự nhiên dưới 12 là bội của 3 hoặc 5 ta được 3, 5, 6, 9, 10. Tổng của các bội số này là 33

Giải pháp mẫu. -

Mã Python

n = 0
for i in range[1,500]:
     if not i % 5 or not i % 3:
         n = n + i
print[n]

Đầu ra mẫu

57918

Sơ đồ


Trình chỉnh sửa mã Python

Đóng góp mã và nhận xét của bạn thông qua Disqus

Trước. Viết chương trình Python tìm số đơn xuất hiện số lẻ và các số khác xuất hiện số chẵn
Kế tiếp. Viết chương trình Python để tính tổng các số hạng có giá trị chẵn trong dãy Fibonacci có giá trị không vượt quá một triệu

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Theo dõi chúng tôi trên FacebookTwitter để cập nhật thông tin mới nhất.

con trăn. Lời khuyên trong ngày

Quản lý bộ nhớ

getrefcount sẽ hiển thị số lần một đối tượng được sử dụng trong bộ nhớ. Đó là một công cụ tuyệt vời có thể được sử dụng để quản lý bộ nhớ trong bất kỳ chương trình nào và nó cũng rất tiện lợi

Getrefcount sẽ tính toán mức sử dụng đối tượng ở mức ByteCode thấp để nó có thể có xu hướng cao hơn dự kiến. Ví dụ: khi bạn in một giá trị, giá trị đó thực sự được xử lý nhiều lần ở chế độ nền bên trong chính hàm in và getrefcount cũng đếm phiên bản khi giá trị đó được gọi bằng chính phương thức getrefcount. Vì vậy, thật an toàn khi nói rằng số lượng thực tế sẽ luôn cao hơn ít nhất 1 lần so với dự kiến

Chủ Đề