JavaScript is required

Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?

float sum(int);

int main() {

float S = 0.0;

int N=2,k;

for (k = 1; k <= N; k++)

S += 1/sum(k); cout <<

S; return 0;

}

float sum(int k) {

int tong = 0;

for(int x = 1; x <= k; x++)

tong += x;

return tong;

}

A.

1

B.

1.33333

C.

1.5

D.

1.6

Trả lời:

Đáp án đúng: B


Đầu tiên, ta xem xét hàm `sum(int k)`. Hàm này tính tổng các số từ 1 đến `k`. Tiếp theo, ta xem xét đoạn code `main()`: - `S` được khởi tạo là 0.0. - Vòng lặp `for` chạy từ `k = 1` đến `k = 2`. - Trong mỗi lần lặp, `S` tăng thêm `1/sum(k)`. Khi `k = 1`, `sum(1)` trả về 1, vậy `S += 1/1 = 1`. `S` bây giờ là 1.0. Khi `k = 2`, `sum(2)` trả về 1 + 2 = 3, vậy `S += 1/3`. `S` bây giờ là 1.0 + 1/3 = 1.33333. Vậy kết quả cuối cùng của `S` là 1.33333.

Câu hỏi liên quan