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
Cách Tải Tài liệu 5 Bí kíp chinh phục Python Tài liệu ôn thi HSG…
100 Bài Lập Trình Python Có Lời Giải Cơ Bản Đến Nâng Cao PDF –…
100 Đề Tổng Hợp Thi Tin Học Ứng Dụng Cơ Bản – Đại học Khoa…
⭐ Giới thiệu: Laptop lỗi ngay lúc đang gấp? Đừng hoảng! Laptop đang dùng ngon…
✅ Giới thiệu Bạn đang dùng PC thì đột nhiên đơ, chậm, xoay vòng mãi…
Mở bài – Khó khăn khi laptop gặp sự cố nhưng không thể mang ra…
This website uses cookies.