#0
by Владислав
как организовать алгоритм с неизвестным числом вложенных циклов? задача такая: дано слово, например ПРОБА, у каждой буквы есть свои альтернативные варианты, например О можно заменить на А, П на Б и Ф и т.д., слово может быть произвольной длины. мне нужнно составить все комбинации, т.е. получить массив: БРОБА, ФРОБА, ПРАБА, БРАБА, ФРАБА, и т.д. как сделать?
#5
by Buran
Он прав, нужно построить дерево Можно рекурсию сделать, но лучше почитай про стек и его реализацию
#6
by smaharbA
Перем Рез; Функция Рекурсия(Букова) Если естьБукова Тогда Рез.ДобавитьЗначение(Рекурсия(Букова)); КонецФункции
#9
by Buran
Притом что рекурсивные алгоритмы в общем случае более эффективны/стабильны при реализации однопроходного цикла без рекурсии. Рекурсия по сути выполняет вычисления на стеке, но скрыто от программиста (средствами компилятора/интерпретатора)
#11
by smaharbA
Афигеть, а я чето не любил стек, больше регистры двигал туда-сюда... (совет - не задвигай умности, даже правильные) см
#12
by Убитое время
Тогда зачем про стек читать и понимать его реализациюЮ если он скрыт от программиста?
#18
by Ёпрст2
"Притом что рекурсивные алгоритмы в общем случае более эффективны/стабильны при реализации однопроходного цикла без рекурсии" Жесть , типа сам себе противоречу ...
#19
by Молния
А при чем тут регистры и стек. Под регистры память из кучи отдельно выделяется. Ты лучше документацию получше почитай. Изучи механизм вызова функций и передачи параметров. А особенно как это действует при рекурсии.
#21
by Молния
Вычисления на стеке это круто. Давно я про такие приколы не вспоминал. По моему это фортран умел. Из новых языков что то не припомню.
#23
by smaharbA
+ только вот ты - читал, а я "регистры двигал" целыми упаковками, правдо маловато их было... :)
#25
by smaharbA
Молния - конечно прав в целом, но вот как реализовано всеравно не знает, потому не стоит гипотизы за теоремы выдвигать... (а со стеком баловство к нехорошему приводит)
#29
by miki
В хрестоматиях обычно приводят пример по вычислению n!. Рекурсия дохнет раньше, чем цикл. stack overflow.
#30
by Молния
Цикл для итераций не требует постоянного увеличения памяти. В отличие от рекурсии. Да и вообще приношу свои извинения за если действительно хорошо знает реальные реализации. Я изучал только учебные, да и экзамен сдавал года 3 назад.
#31
by Buran
Имелось в виду, что алгоритм, требующий рекурсивных вычислений эффективней реализовывать однопроходными циклами на стеке. Для этого необязателен фортран. Достаточно массива. Откройте книжку по программированию, там есть примеры.
#32
by miki
Вот и чудненько :) Просто под термины следует сыпать достаточно контекста, чтобы людям понятнее было. Тут всё-таки форум в основном по 1С :)...
#33
by vde69
с полгода назад обсуждал эту тему: собственно задача свелась к последовательности которая проходит гарантированно все элементы от X до Y и не повторяеться, ни чего кроме X=X+1 не подошло короче делаешь ТЗ в которой хранишь счетчики разрядов...
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- АвтоУдаление колонок списка. Как настроить?
- SA пароль
- Учет себестоимости после доп. расходов. в УТ 10.2
- Разный рассчет НДФЛ с отпускных в ЗиК 7.7 и УПП 8.0
- SQl Как перенести LDF файл в другую папку?
- Значение не является значением объектного типа (Материалы)
- ЗУП: А что, при расчете з/п количество ставок не учитывается?
- Как установить график рабочего времени если он хаотичный?>
- v7: Заполнение поле ввода формы документа из внешней обработки/ помогите
- Оплата труда на комиссионной основе в ЗУП 8.0
- Как проверить есть ли файлы в папке или нет?
- v7: Опер.HомерСтрокиДокумента();
- Трудовой договор
- перенос отчета в excel
- Сталкивался кто-нибудь с обработками Import77.ert и Export77.ert
- Связка Ут и БП
- Событие ПриОтправкеДанныхПодчиненному...
- Не работает запрос, почему?
- Как распечатать при открытии модально.
- Сохранить как... как Сохранить (Excel)