Поделитесь своими знаниями, ответьте на вопрос:
Палиндромом называется слово, которое одинаково читается как слева направо, так и справа налево, например, в языке такими словами являются «radar» и «racecar». света изучает язык и решила принять участие в дистанционном конкурсе знатоков языка. но, когда она писала ответ на «найдите самое длинное слово, которое является палиндромом», ошиблась и нажала на клавиатуре одну лишнюю клавишу. определите, какую букву нужно удалить в набранном светой слове, чтобы это слово стало палиндромом. программа получает на вход строку из строчных букв, содержащую не менее 2 и не более 100 000 символов. программа должна вывести единственное число – номер буквы в строке, при удалении которой слово становится палиндромом. если при удалении любой буквы слово не станет палиндромом, программа должна вывести число 0. кто может написать на pascal'е программу.?
function ispal(s: string): boolean;
var t: string;
i: integer;
begin
t:='';
for i:=length(s) downto 1 do t:=t+s[i];
if t=s then ispal:=true
else ispal:=false;
end;
var s,t: string;
i,f: integer;
begin
readln(s);
f:=0;
t:='';
for i:=1 to length(s) do
begin
t:=s[i];
delete(s,i,1);
if ispal(s) then
begin
f:=1;
insert(t,s,i);
break;
end;
insert(t,s,i);
end;
if f=1 then write(pos(t,s))
else write(0);
end.