JavaScript is required

Kết quả thuật toán đệ quy:

Function Test(st:string):string;

Begin

If length(st) <=1 then Test:=st

Else Test:= st[length(st)] + Test(Copy(st,1,length(st)-1));

End;

A.

Xuất mỗi kí tự của st trên một dòng

B.

Đảo ngược chuỗi st

C.

Đưa ra tất cả các xâu con của xâu kí tự st

D.

Đưa ra độ dài của xâu st

Trả lời:

Đáp án đúng: B


Đề bài cho một hàm đệ quy `Test` nhận một chuỗi `st` làm tham số. Hàm này hoạt động như sau: - Nếu độ dài của chuỗi `st` nhỏ hơn hoặc bằng 1, hàm trả về chính chuỗi đó. - Ngược lại, hàm trả về ký tự cuối cùng của chuỗi `st` ghép với kết quả của việc gọi đệ quy hàm `Test` với chuỗi con của `st` (từ ký tự đầu tiên đến ký tự áp chót). Ví dụ, nếu `st` là "abc", hàm sẽ thực hiện như sau: 1. `Test("abc")` trả về 'c' + `Test("ab")` 2. `Test("ab")` trả về 'b' + `Test("a")` 3. `Test("a")` trả về "a" Kết hợp lại, ta có 'c' + 'b' + 'a' = "cba". Như vậy, hàm `Test` có tác dụng đảo ngược chuỗi `st`. Vậy đáp án đúng là B

Câu hỏi liên quan