кроссворды, задачки, головоломки

Сборник задач разного уровня сложности по математике, информатике, физике, химии, программированию, экономике etc. Логические задачи, SQL задачи, решение задач. Задачи с ответами, а также нерешённые задачи.

Petruchek.Info

Поиск палиндрома максимальной длины

Добавлено: 04.03.08 в 09:24
Метки: задачи на строки

Палиндромом называют последовательность символов, которая читается как слева направо, так и справа налево. Найти во введённой строке подстроку-палиндром максимальной длины.

СПРЯТАТЬ РЕШЕНИЕ/ОТВЕТ

program MaxPal;
var
	s,p : string;
	i,k,n : integer;
{----------------------------------------------------------}
function IsPal(s:string):boolean; {detects where s is palindrome}
var 
	i,n : integer;
begin
IsPal := true;
n := length(s);
for i := 1 to n div 2 do
	if (s[i] <> s[n-i+1]) then 
		begin
		IsPal := false;
		break;
		end;
end;
{----------------------------------------------------------}
begin
readln(s);
n := length(s);
k := n; {we are hunting for palindrome of k chars}
p := '';
while (k > 0) AND (p = '') do
	begin
	for i := 1 to n-k+1 do {possible start positions for k-palindrome}
		begin
		if IsPal(copy(s,i,k)) then
			begin
			p := copy(s,i,k);
			break;
			end;
		end;
	dec (k) {no k-palindrome, lower our expectations}
	end;
writeln (p);
end.

Комментарии
Google says:
Аноним (04.10.09):
плохая задача
Сергей (18.10.09):
Это вы зря. Задача интересна и заставляет подумать.
Комментарий от новенького:
Новенький является
Новенький не робот
Знаки на картинке: латинские буквы, арабские цифры


Есть на сайте: Онлайн кроссворды Задачи Онлайн игры Блог
Все работы, опубликованные на сайте — авторские, если не указано иное. Перепечатка возможна только с письменного разрешения владельцев ресурса, с обязательной ссылкой на сайт petruchek.info. Пишите нам: . Сайт должен работать в IE, FF, Opera, Safari.

Реклама:

Разработано в студии "Webous"о проектесайта карта

Реклама: Качественный ламинат.