Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
định hướng bài toán Ước chung lớn nhất
15:30 04-02-2023
728 lượt xem
3 bình luận
14:48 07-02-2023
Ước chung lớn nhất
Cho hai số tự nhiên N và M, viết chương trình tìm ước chung lớn nhất của N và M.
- Dữ liệu vào: lấy từ file UCLN.INP : hai số N và M trên 1 dòng, cách nhau một khoảng
trắng.
- Dữ liệu ra: ghi ra tệp văn bản UCLN.OUT: ước chung lớn nhất của hai số.
- Ví dụ:
UCLN.INP | UCLN.OUT |
2 4 | 2 |
11 17 | 1 |
Bạn có thể dùng đệ quy để tìm. static int UCLN(int a,int b) {
int r = a % b; if(r==0) { return b; } else { a = b; b = r; return UCLN(a, b); }
}
- Tỉm max, min của a,b, nếu max chia hết cho min thì UCLN=min
- Ngược lại (max/min) thì chạy vòng lặp for từ i=min/2 về 1, nếu max chia hết cho i thì UCLN=i rồi thoát
Mình chỉ hướng dẫn bạn chỗ while loop thôi nhé
Nếu a và b đều lớn hơn 0
{
nếu a lớn hơn b
a = a chia lấy dư b
ngược lại
b = b chia lấy dư cho a
}
Kết quả là tổng của a và b