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

Câu hỏi trong lớp Xem thêm