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
Bạn đang tìm kiếm nguồn tài liệu ôn thi học sinh giỏi Tin học lớp…
Phần 2: Tải ngay 200 Bài lập trình Python có lời giải cơ bản đến…
Tổng Hợp Các Hàm Python "Cốt Lõi" Khi Thi HSG Tỉnh Và Vào 10 Chuyên…
Nếu bạn đang ôn thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang,…
Tổng Hợp 74 Đề Thi Học Sinh Giỏi Tin Học THCS Cấp Tỉnh Có Đáp…
Tổng hợp 75 Đề thi HSG Tin học THCS Python Cấp Tỉnh (Có Code Giải…
This website uses cookies.