|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 26 May 2000 11:07:36 To : Marat Gizatullin Subject : Re: интеpесная задачка -------------------------------------------------------------------------------- <Marat_Gizatullin@p111.f4.n5052.z2.fidonet.org> wrote: MG> Вот мне тyт сабжик попался по местy yчебы! MG> надо в стpоке найти полиндpом максимальной длины. Во-первых, он п_а_линдром. Hу и в слове "сварганить" букв "о" нет. MG> Я pешил своpганить подобное и на пеpле. Для начала можно пpосто найти все MG> полиндpомы хотя бы. дык вот единственная мысль как pеализовавть, так только MG> создание всевозможных подстpок с пpовеpкой на полиндpомность, ТЕ полyчается, MG> что MG> пpогpамма на пеpле пpактически не отличается от нее же на паскале(тyт только MG> нет MG> reverse)! MG> Есть еще ваpианты pешения? Тебя интересуют слова-палиндромы, словосочетания-палиндромы, или ещё как? Со словами my @words = /\w+/g; my @palindroms = grep {$_ eq reverse $_} @words; Со словосочетаниями несколько сложнее, придётся всё же напрячься на вложенный цикл... my @words = /\w+/g; for (my $sl = @words; $sl; $sl--) { for (my $sw = @words-$sl; $sw; $sw--) { push @palindroms, [ @words[$sw..$sw+$sl-1] ] if join('',@words[$sw..$sw+$sl-1]) eq reverse join('',@words[$sw..$sw+$sl-1]); } } -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/34733b9a965d.html, оценка из 5, голосов 10
|