34 Học Python - Tìm UCLN của 2 số nguyên dương a, b mới nhất
DANH SÁCH TÓM TẮT:
Giới Thiệu
Ước chung lớn nhất (UCLN) của hai số nguyên dương a và b là số lớn nhất chia hết cho cả a và b. Bài viết này hướng dẫn cách tìm UCLN bằng Python, bao gồm phương pháp cơ bản và thuật toán Euclid tối ưu.
Phương Pháp Tìm UCLN
Có hai phương pháp chính để tìm UCLN:
# Hàm tìm UCLN theo phương pháp duyệt def ucln_brute_force(a, b): ucln = 1 for i in range(1, min(a, b) + 1): if a % i == 0 and b % i == 0: ucln = i return ucln # Nhập giá trị a và b từ người dùng a = int(input("Nhập số nguyên dương a: ")) b = int(input("Nhập số nguyên dương b: ")) # Kiểm tra điều kiện đầu vào if a <= 0 or b <= 0: print("Vui lòng nhập hai số nguyên dương.") else: print(f"Ước chung lớn nhất của {a} và {b} là: {ucln_brute_force(a, b)}")
# Hàm tìm UCLN bằng thuật toán Euclid def ucln_euclid(a, b): while b: a, b = b, a % b return a # Nhập giá trị a và b từ người dùng a = int(input("Nhập số nguyên dương a: ")) b = int(input("Nhập số nguyên dương b: ")) # Kiểm tra điều kiện đầu vào if a <= 0 or b <= 0: print("Vui lòng nhập hai số nguyên dương.") else: print(f"Ước chung lớn nhất của {a} và {b} là: {ucln_euclid(a, b)}")
So Sánh Hai Phương Pháp
Phương pháp | Độ phức tạp | Tốc độ |
Duyệt tất cả ước số | O(min(a, b)) | Chậm hơn |
Thuật toán Euclid | O(log(min(a, b))) | Nhanh hơn |
Thuật toán Euclid hiệu quả hơn nhiều so với phương pháp duyệt thông thường.
Ứng Dụng Của UCLN
Kết Luận
Việc tìm UCLN là một bài toán quan trọng trong toán học và lập trình. Phương pháp Euclid giúp tính UCLN nhanh chóng ngay cả với số lớn. Hãy sử dụng thuật toán này để tối ưu chương trình của bạn!
Khóa học Python online từ cơ bản đến nâng cao
2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án SỞ…
1 Đề Thi Học Sinh Giỏi Tin học THCS cấp Tỉnh Tiền Giang có đáp…
Phần 1: Các bài tập dễ và cơ bản làm được các bài này các…
100 triệu là mức lương của lập trình Python vì sao? 1. Vì sao Python…
Bài 71: Đổi tất cả ký tự trong một chuỗi thành ký tự thường bằng…
Bài 26 - Tính Tổng Những Số Chia Hết Cho 3 và 5 bằng Python…
This website uses cookies.