GIẢI ĐỀ THI TIN HỌC TRẺ CẤP THCS_HUYỆN THOẠI SƠN_2021-2022 (BÀI 2: CHUỖI CON LẶP LẠI DÀI NHẤT)

 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

program BAI02_HSG_Huyen;
uses crt;
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
        clrscr;
        write('Moi ban nhap vao chuoi S: '); readln(s);
        kq:='';
        giai;
        if length(kq) > 0 then write('Chuoi con lap lai dai nhat la: ',kq)
        else write('KHONG TIM THAY');
        readln;
end.



Đă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