Xét thuật toán sau: B1. Nhập N, các số hạng a1, a2,…, an B2. i ⃪ 1; d ← 0; B3. Nếu ai chi hết cho 3 thì d ← d + 1; B4. i ⃪ i + 1; B5. Nếu i > N thì thông báo d rồi kết thúc B6. Quay lại bước 3. Với các bộ input sau, hãy MÔ TẢ HOẠT ĐỘNG CỦA THUẬT TOÁN rồi cho biết output của bài toán là gì? N = 5; A: 2,4, 6, 7, 9
1 câu trả lời
Bước 1. Nhập N, các số hạng a1, a2,…, an
Bước 2. i ← 1; d ← 0;
Bước 3. Nếu a[i] chi hết cho 3 thì d ← d + 1;
Bước 4. i ← i + 1;
Bước 5. Nếu i > N thì thông báo d rồi kết thúc
Bước 6. Quay lại bước 3.
* Mô tả hoạt động :
=> Nếu phần tử trong dãy a có giá trị chia hết cho 3 thì tăng giá trị biến d lên 1 đơn vị
=> Đếm số lượng số hạng có giá trị chia hết cho 3
=> i = 1 ⇒ a[1] mod 3 = 0 ⇒ 2 mod 3 = 0 ⇒ điều kiện sai
=> i = 2 ⇒ a[2] mod 3 = 0 ⇒ 4 mod 3 = 0 ⇒ điều kiện sai
=> i = 3 ⇒ a[3] mod 3 = 0 ⇒ 6 mod 3 = 0 ⇒ điều kiện đúng ⇒ d = 0 + 1 = 1
=> i = 4 ⇒ a[4] mod 3 = 0 ⇒ 7 mod 3 = 0 ⇒ điều kiện sai
=> i = 5 ⇒ a[5] mod 3 = 0 ⇒ 9 mod 3 = 0 ⇒ điều kiện đúng ⇒ d = 1 + 1 = 2
=> i = 6 ⇒ i > N ⇒ kết thúc thuật toán thông báo d
=> Giá trị d = 2