GIẢI ĐỀ THI HỌC SINH GIỎI TỈNH (BÀI 4 - ĐỀ THI HỌC SINH GIỎI TỈNH AN GIANG 2021-2022)

 Chuỗi lặp lại là chuỗi mà nếu ta đọc từ trái sang phải có chuỗi ký tự liền sau giống dãy ký tự trước đó; Độ dài chuỗi lặp lại nhỏ nhất là 2 ký tự và là một số chẵn.

            Ví dụ: chuỗi ‘abab’ là chuỗi lặp lại; chuỗi ‘abcab’ không phải là chuỗi lặp lại.

            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 lặp lại 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. Trong trường hợp không tìm được chuỗi lặp lại thì thông báo “KHONG TIM DUOC”.

            Chương trình ví dụ:

                        Moi ban nhap vao chuoi S: zababcabcdq

                        Chuoi con lap lai dai nhat la: abcabc


CODE THAM KHẢO

var s, kq: string;
procedure giai;
var i,j: integer;
    s2, s3: string;
begin
        for i:=1 to length(s)-1 do
        begin
                for j:=1 to length(s) div 2 do
                begin
                        s2:=copy(s,i,j);
                        s3:=s2;
                        while (pos(s3+s2,s) > 0) do s3:=s3+s2;
                        if (length(kq) < length(s3)) then
                          if (length(s3) > length(s2)) then kq:=s3;

                end;

        end;
end;
begin
        assign(input,'BAI04.INP'); reset(input);
        assign(output,'BAI04.OUT'); rewrite(output);
        readln(s);
        kq:='';
        giai;
        if length(kq) > 0 then write(kq)
        else write('KHONG TIM THAY');
        close(input); close(output);
end.







Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget