Viết chương trình nhập vào một xâu ký tự từ bàn phím. Tìm xâu đảo ngược của xâu đó rồi in kết quả ra màn hình theo
166
28/10/2023
Câu 29: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Tìm xâu đảo ngược của xâu đó rồi in kết quả ra màn hình theo 2 cách: Đệ qui và không đệ qui.
Trả lời
Ý tưởng:
- Nếu xâu St có 1 ký tự thì xâu đảo = St.
- Ngược lại: Xâu đảo = Ký tự cuối + Đệ qui(Phần còn lại của xâu St).
Uses Crt;
Var St:String;
{Giải thuật không đệ qui}
Function XauDao(St:String):String;
Var S:String;
i:Byte;
Begin
S:=’’;
For i:=Length(St) DowTo 1 Do S:=S+St[i];
XauDao:=S;
End;
{Giải thuật đệ qui}
Function DeQui(St:String):String;
Begin
If Length(St)<=1 Then DeQui:=St
Else DeQui:=St[Length(St)] + DeQui(Copy(St,1,Length(St)-1));
End;
Begin
Write(‘Nhap xau St: ‘); Readln(St);
Write(‘Xau dao nguoc: ‘, XauDao(St));
Readln;
End.