31.8. Gọi ƯCLN(a, b) là hàm ƯCLN của hai số tự nhiên a, b. Dễ thấy ta có ƯCLN(a, b) = ƯCLN(b, a%b)...

Câu hỏi:

31.8. Gọi ƯCLN(a, b) là hàm ƯCLN của hai số tự nhiên a, b. Dễ thấy ta có ƯCLN(a, b) = ƯCLN(b, a%b) nếu b > 0 và ƯCLN(a, 0) = a. Từ đó hãy viết chương trình nhập hai số a, b và tính ƯCLN của a và b.

Câu trả lời:
Người trả lời: GV. Đỗ Đăng Ngọc
Cách làm:
- Ta sử dụng vòng lặp while để tính ƯCLN của hai số a, b theo công thức đã cho.
- Trong vòng lặp, ta lặp lại việc tính a%b và gán a = b, b = r cho đến khi b = 0.
- Cuối cùng trả về giá trị a (là ƯCLN của hai số a, b).

Câu trả lời chi tiết:
Chương trình có thể viết như sau:

def UCLN(a, b):
while b > 0:
r = a % b
a = b
b = r
return a

a, b = eval(input("Nhập hai số a, b cách nhau bởi dấu phẩy: "))
print("ƯCLN là: ", UCLN(a, b))
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.44834 sec| 2194.016 kb