JavaScript is required

Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán:

Function Test (n: Integer): Integer;

Var f1, f2, fn: Integer;

Begin

f1=1;

f2=1;

i:=3;

While i<=n do

Begin

fn := f1 + f2; f1:=f2; f2:=fn;

i:=i+1;

End;

Test:= fn;

End;

A.

Test(6) = 5

B.

Test(5) = 3

C.

Test(7) = 13

D.

Test(4) = 1

Trả lời:

Đáp án đúng: C


Để tìm kết quả đúng, ta cần thực hiện thuật toán Test với các giá trị n khác nhau và so sánh với các đáp án được đưa ra. * **Test(6):** * f1 = 1, f2 = 1, i = 3 * i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2 * i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3 * i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5 * i = 6: fn = 3 + 5 = 8; f1 = 5; f2 = 8 * Test(6) = 8. Vậy đáp án Test(6) = 5 là sai. * **Test(5):** * f1 = 1, f2 = 1, i = 3 * i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2 * i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3 * i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5 * Test(5) = 5. Vậy đáp án Test(5) = 3 là sai. * **Test(7):** * f1 = 1, f2 = 1, i = 3 * i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2 * i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3 * i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5 * i = 6: fn = 3 + 5 = 8; f1 = 5; f2 = 8 * i = 7: fn = 5 + 8 = 13; f1 = 8; f2 = 13 * Test(7) = 13. Vậy đáp án Test(7) = 13 là đúng. * **Test(4):** * f1 = 1, f2 = 1, i = 3 * i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2 * i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3 * Test(4) = 3. Vậy đáp án Test(4) = 1 là sai. Vậy đáp án đúng là Test(7) = 13. Thuật toán này thực chất tính số Fibonacci thứ n.

Bộ 525 câu hỏi trắc nghiệm ôn thi môn Toán rời rạc có đáp án dưới đây sẽ là tài liệu ôn tập hữi ích dành cho các bạn sinh viên. Mời các bạn cùng tham khảo!


30 câu hỏi 60 phút

Câu hỏi liên quan