[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: задача про палиндром
Страницы: 1, 2
kirik
Цитата (Trianon @ 5.04.2011 - 03:33)
Подобного рода ложные срабатывани я и имел в виду.

Понял. На досуге ещё посижу smile.gif
kvant
нужно эту задачу решить с помощью цикла for и функции substr. Кто нибудь поможет? Пожалуйста!
kirik
Кто знает, кто знает...
Michael
Цитата (kvant @ 6.04.2011 - 08:21)
нужно эту задачу решить с помощью цикла for и функции substr. Кто нибудь поможет? Пожалуйста!

1) сделай цикл по всем символам
2) от каждого символа стартуй цикл вперед и на его итерации получай текущую вырезанную часть и обратную. Если есть палиндромы запоминай их, если нет, то на следующую итерацию 1)

Сложно что ли такой простой алгоритм реализовать? Он просто требует времени, отладки, а интереса алгоритмического мне например не представляет, чтобы сюда "кодика кинуть" wink.gif

_____________
There never was a struggle in the soul of a good man that was not hard
kvant
все таки задачу про палиндром никто не смог решить! Там обстоят дела так что нужно было сделать задачку с формай, то есть два баттона где вводиш слово! Ну все равно спасибо за помощь!!!
l@pteff

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form
method="post">
Введите строку: <input name="word" id="word" size="36"/>
<input
type="submit" value="Ok" />


function compare_length($str1, $str2) {
$length1 = mb_strlen($str1, 'UTF-8');
$length2 = mb_strlen($str2, 'UTF-8');
if ($length1 > $length2)
return 1;
}

if (!$_POST['word']) exit ('Нет данных');
$word=trim(htmlspecialchars($_POST['word']));
$arr_poly=array();
$arr = explode(' ', $word);
for($i = 0; $i < count($arr); $i++) {
$r=strrev($arr[$i]);
if ($arr[$i]==$r) $arr_poly[]=$r;
}

usort($arr_poly, "compare_length");
if ($arr_poly) exit('<br><br>'.array_pop($arr_poly).'-полиндром максимальной длины.');
echo '<br><br>'.'Полиндромы не найдены.';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.