Program long_palindrome;
Var ch,ch1,max:string;
i,j:integer;
(*******************************************)
Function palindrome(ch:string):boolean;
Var i:integer; verif:boolean;
Begin
i:=0;
Repeat
i:=i+1;
Verif := (ch[i] = ch[length(ch)-i+1]);
Until (verif=false) or (i=length(ch) div 2);
palindrome:=verif;
End;
(******************** P.P ***********************)
Begin
Writeln('Donner ch = ');
Readln(ch); max:=ch[1];
Repeat
For j:=length(ch) downto 3 do
Begin
ch1:=copy(ch,1,j);
If palindrome(ch1) and (length(ch1)>length(max)) Then max:=ch1;
End;
delete(ch,1,1);
Until length(ch)=2;
Writeln ('La plus longue chaine palindrome est : ', max)
End.
UHJvZ3JhbSBsb25nX3BhbGluZHJvbWU7ClZhciBjaCxjaDEsbWF4OnN0cmluZzsKaSxqOmludGVnZXI7CigqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKQpGdW5jdGlvbiBwYWxpbmRyb21lKGNoOnN0cmluZyk6Ym9vbGVhbjsKVmFyIGk6aW50ZWdlcjsgdmVyaWY6Ym9vbGVhbjsKQmVnaW4KaTo9MDsKUmVwZWF0Cmk6PWkrMTsKVmVyaWYgOj0gKGNoW2ldID0gY2hbbGVuZ3RoKGNoKS1pKzFdKTsKVW50aWwgKHZlcmlmPWZhbHNlKSBvciAoaT1sZW5ndGgoY2gpIGRpdiAyKTsKcGFsaW5kcm9tZTo9dmVyaWY7CkVuZDsKKCoqKioqKioqKioqKioqKioqKioqIFAuUCAqKioqKioqKioqKioqKioqKioqKioqKikKQmVnaW4KV3JpdGVsbignRG9ubmVyIGNoID0gJyk7ClJlYWRsbihjaCk7IG1heDo9Y2hbMV07ClJlcGVhdApGb3Igajo9bGVuZ3RoKGNoKSBkb3dudG8gMyBkbyAKQmVnaW4KY2gxOj1jb3B5KGNoLDEsaik7CklmIHBhbGluZHJvbWUoY2gxKSBhbmQgKGxlbmd0aChjaDEpPmxlbmd0aChtYXgpKSBUaGVuIG1heDo9Y2gxOwpFbmQ7CmRlbGV0ZShjaCwxLDEpOwpVbnRpbCBsZW5ndGgoY2gpPTI7CldyaXRlbG4gKCdMYSBwbHVzIGxvbmd1ZSBjaGFpbmUgcGFsaW5kcm9tZSBlc3QgOiAnLCBtYXgpCkVuZC4=