Что такое и как выглядит последовательность "Смотри и говори"

Интересная последовательность смотри и говори выглядит так:
1
11
21
Она вычисляется так - каждую следующую строчку мы получаем глядя на предыдущую.
Например начав с единицы, вторую строку мы так и запишем, что видим - Одна Единица 11
третья строка выходит из второй, мы видим на второй строке Две единицы поэтому и говорим и пишем 21

Следующие последовательности "Смотри и говори" Look and Say выглядят так:
1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211


Скрипт алгоритм для вычисления такой последовательности выглядит так:
function lookandsay($s) {
// инициализируем возвращаемое значение пустой строкой
$r = '';
// переменная $m, которая содержит подсчитываемые символы, 
1.3. Посимвольная обработка строк 29
// инициализируется первым символом * в строке
$m = $s[0];
// $n, количество обнаруженных символов $m, инициализируется значением 1
$n = 1;
for ($i = 1, $j = strlen($s); $i < $j; $i++) {
// если символ совпадает с последним символом
if ($s[$i] == $m) {
// увеличиваем на единицу значение счетчика этих символов
$n++;
} else {
// иначе добавляем значение счетчика и символа 
к возвращаемому значению //
$r .= $n.$m;
// устанавливаем искомый символ в значение текущего символа //
$m = $s[$i];
// и сбрасываем счетчик в 1 //
$n = 1;
}
}
// возвращаем построенную строку, а также последнее значение 
счетчика и символ //
return $r.$n.$m;
}
for ($i = 0, $s = 1; $i < 10; $i++) {
$s = lookandsay($s);
print "$s\n";
}



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы