Viết thuật toán tìm ước chung lớn nhất của hai số nguyên. In kết quả ra màn hình thanks trc ạ
2 câu trả lời
* Xác định bài toán :
- Input : số nguyên dương a và b
- Output : ước chung lớn nhất cua hai số a và b
* Ý tưởng :
- Nếu a = b ⇒ lấy số đó làm ước chung lớn nhất
- Nếu a > b => a ← a - b ngược lại b ← b - a
- Lặp lại cho đến khi giá trị a và b bằng nhau, lấy giá trị đó làm ước chung lớn nhất
- Nếu giá trị a và b không bằng nhau => a và b không có ước chung
* Mô tả thuật toán :
- Bước 1 : nhập số a và b
- Bước 2 : nếu a = b thì lấy giá trị chung này làm ước chung lớn nhất rồi chuyển đến bước 5
- Bước 3 : nếu a > b thì a ← a - b ngược lại b ← b - a;
- Bước 4 : quay lại bước 2
Program bai_tap;
Uses crt;
Var M,N: integer;
Begin
clrscr;
write ('Nhập M, N= ');
readln (M,N);
While M <> N do
if M >N then M:= M - N else N:= N - M;
writeln( ' UCLN = : ', M);
readln
End.