Chuỗi con đối xứng là chuỗi mà nếu ta đọc từ trái sang phải hay từ phải sang trái đều giống nhau. Một ký tự duy nhất cũng được gọi là chuỗi đối xứng. Ví dụ: chuỗi ‘abcba’ là chuỗi đối xứng; chuỗi ‘abcdba’ không phải là chuỗi đối xứng.
Viết
chương trình nhập vào từ bàn phím chuỗi ký tự S có chiều dài không quá 255 ký tự. In ra màn hình chuỗi con đối xứng
dài nhất của S. Biết rằng chuỗi con
của S là chuỗi gồm một số ký tự liên
tiếp nhau trong S có độ dài nhỏ hơn
hoặc bằng độ dài của chuỗi S.
Ví dụ: chuỗi ‘bcb’ và chuỗi ‘abcba’ là
hai chuỗi con đối xứng của chuỗi ‘qabcbat’; và chuỗi ‘abcba’ là chuỗi con đối xứng
dài nhất.
CODE THAM KHẢO:
program xaucondoixung_dainhat;
uses crt;
var st,s1,s2:string;
i,j,max: longint;
function xdx(s:string): boolean;
var i:longint;
begin
for i:=1 to length(s) div 2 do
if s[i] <> s[length(s)-i+1] then begin exit(false); end;
xdx:=true;
end;
begin
clrscr;
write('Nhap xau: '); readln(st);
if length(st) = 1 then write(st);
max:=1; s2:='';
for i:=1 to length(st)-1 do
for j:=i+1 to length(st) do
begin
s1:=Copy(st,i,j-i+1);
if xdx(s1) then
if max < length(s1) then
begin
max:=length(s1);
s2:=s1;
end;
end;
write(s2);
readln;
end.
Đăng nhận xét