Yêu cầu. Tại bước 2 của thuật toán tìm max, thay phép gán a1 cho max bằng phép gán aN cho max thì thuật toán được viết lại như thế nào. Viết lại thuật toán và mô phỏng thuật toán bằng một dãy số cụ thể.
2 câu trả lời
Bước 1 : nhập n và dãy a1, a2, … , an
Bước 2 : max ← an; i ←
Bước 3 : nếu i < 1 thì đưa ra giá trị max rồi kết thúc
Bước 4 :
Bước 4.1 : nếu a[i] > max thì max ← a[i]
Bước 4.2 : i ← i - 1 quay lại bước 3
* Mô phỏng dãy số cụ thể :
=> Dãy : 3, 5, 9, 2, 1, 6
=> n = 6
=> max = a[6] = 6
=> a[5] = 1 < a[6]
=> a[4] = 2 < a[6]
=> a[3] = 9 > a[6] => max = a[3]
=> a[2] = 5 < a[3]
=> a[1] = 3 < a[3]
=> max = a[3]
- Khi thay a[1] thành a[n]
* Thuật toán :
- Bước 1 : nhập số n và dãy a1, a2, ... , an
- Bước 2 : i ← n - 1, max ← a[n]
- Bước 3 : nếu i < 1 thì đưa ra giá trị max rồi kết thúc
- Bước 4 :
- Bước 4.1 : nếu a[i] > max thì max ← a[i]
- Bước 4.2 : i ← i - 1 quay lại bước 3
* Mô phỏng với dãy : 8 6 2 3 4
- Max = a[5] = 4
- i = 4 ⇒ a[4] = 3 < Max
- i = 3 ⇒ a[3] = 2 < Max
- i = 2 ⇒ a[2] = 6 > Max ⇒ Max ← a[2]
- i = 1 ⇒ a[1] = 8 > Max ⇒ Max ← a[1]
- Giá trị Max = 8
