Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Университетская задача на C++ Builder


Автор: Porsche 22.12.2004, 20:17
Вот дана задача: Получить последовательность цифр 0,1,2 в которой нет одинаковых смежных участков любой длины.

Помогите, кто может.. Осталась последняя задача Пожалуйста... smile

Автор: 3,14 23.12.2004, 11:47
Не понял, по конкретней задачу обьясни, и примеров добавь, там глядишь и поможем smile

Автор: Гость_Porsche 23.12.2004, 19:15
Ну длина последовательности задается с клавиатуры..
нужно составить последовательность цифр в которой нет одинаковых рядом стоящих участков
например 01210212

а вот тут 012021021 - последние 021 и 021 одинаковые

Автор: Flibustier 23.12.2004, 22:10
общий алгоритм таков:
Предроложим, что построили строку длины n. По очереди пробуем добавить 0, 1, 2.
После того как добавили, проверяем: не создались ли повторения. Если не создались у нас получилась строка длины n+1, если создались, пробуем добавить следующий символ(то есть: если добавляли 0, пробуем 1), если не получилось с 2, возвращаемся на шаг назад, то есть на строку n-1 и там добавляем следующий символ.
обычная задача на рекурсию - не обижайся, но это просто
Если что не понятно - пиши

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)