IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Интересная задача на рекурсию, Посл-ть из 3 символов
striker
сообщение 28.02.2007 22:24
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 86
Пол: Мужской

Репутация: -  0  +


Нужна помощь в решении этой задачи:
Нужно записать с использованием рекурсии программу создания n-символьной последовательности, состоящей из совокупности трех символов (например: 0,1,2 или a,b,c), в которой нет двух смежных идентичных подпоследовательностей, например, послед-ти 2011 и 21012101 не удовлетворяют условию задачи, т.к. в первой рядом расположены два одинаковых элемента 1, а во второй – одинаковые подпоследовательности 2101.
Интересная только как тут задать условие повторения подпоследовательностей?
Предлагайте свои варианты решения.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
Michael_Rybak
сообщение 12.03.2007 3:44
Сообщение #2


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Жестко.

В общем, это ханойские башни. Между каждыми двумя столбиками на каждом шагу можно совершить только одну операцию (для столбиков А и В можно переложить с А на В, если верхний диск на А меньше, чем на В, и с В на А в противном случае).

Поэтому решение задачи однозначно задается последовательностью чисел 0, 1, 2, где 0 задает ход между А и В, 1 - между В и С и 2 - между А и С.

Генеришь эту последовательность для достаточно большого количества дисков (log n + 2 например). Получаешь то, что надо.

План доказательства у меня наметился, но в детали влезать лень. Просто как-нибудь - вряд-ли. Хотя, мало ли smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
striker   Интересная задача на рекурсию   28.02.2007 22:24
volvo   Вот это: const { s: string = '21012101';...   28.02.2007 22:38
striker   Если честно, не очень понял. Это только для послед...   1.03.2007 19:25
volvo   Ты спросил, как определять существует ли повторяющ...   1.03.2007 19:35
striker   1. Получается, что проверяется только повторение з...   2.03.2007 19:58
volvo   striker, ты внимательно прочел, что я написал? Про...   2.03.2007 20:15
striker   Нет, я делаю последовательности, но не состоящие и...   10.03.2007 20:58
volvo   Где в ПЕРВОНАЧАЛЬНОМ задании сказано, что в послед...   10.03.2007 21:04
striker   Как вывести полученную послед-ть на экран? Или она...   11.03.2007 18:18
volvo   :mad: А запустить программу не пробовал??? В обще...   11.03.2007 18:57
Michael_Rybak   Жестко. В общем, это ханойские башни. Между кажды...   12.03.2007 3:44
Гость   VOLVO, а сам Запускать не пробовал? Если бы попроб...   12.03.2007 21:30
Артемий2   Все прекрасно работает!!Ты бы убрал свою ...   12.03.2007 21:39
volvo   Заруби себе на носу! Я НИКОГДА, слышишь, НИКОГ...   13.03.2007 2:03


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 13:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"