cho thuật toán tìm UCLN của 2 số dương M và N sử dụng pháp liệt kê dưới đây: B1: Nhập vào 2 số M và N B2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5 B3: Nếu M>N thì M<--M-N B4: m<--M+N rồi quay lại bước 2 B5: Đưa ra UCLNN rồi kết thúc Hãy chỉ ra bước sai trong thuật toán trên A Bước 1 B Bước 2 C Bước 3 D Bước 4
2 câu trả lời
Chọn D. Bước 4.
Thuật toán có thể được nói ngắn gọn như sau:
Làm cho đến khi M=N
- Nếu M>N thì M=M-N
- Nếu N>M thì N=N-M
Khi đó ta thấy B4 không hợp với thuật toán trên (Nếu N>M thì N=N-M)
Thuật toán được sửa lại cho đúng:
B1: Nhập vào 2 số M và N
B2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5
B3: Nếu M>N thì M<--M-N
B4: Nếu N>M thì N<--N-M rồi quay lại bước 2
B5: Đưa ra UCLNN rồi kết thúc
D. Bước 4
Bước 1 đúng
Bước 2 đúng vì lặp đến khi nào $M = N$
Bước 3 đúng vì $M > N \Rightarrow M ← M - N$
Ở bước 4 phải là: Nếu N > M thì N ← N - M rồi quay lại bước 2