По теме из базы знаний
- Конкурс "Автоматизация на отлично!"
- История создания службы поддержки, или "Почему лучшие практики не работают?"
- CRM-система в 1С для автоматизации отдела продаж. Почему 1С – это лучшая платформа для CRM-системы?
- Доверие как инструмент мотивации в гонке зарплат
- Как я выиграл 1 млн. рублей. Ретроспектива по конкурсу "1С:Реальная автоматизация 2023"
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Такая задача решается с помощью рекурсии. Например:
Код |
---|
Процедура Рекурсия(КоличествоВсего, КоличествоТекущее, КоличествоНакопленное, Стр, Уровень)
Если КоличествоВсего <= КоличествоНакопленное Тогда
Сообщить(Строка(Уровень) + ". кучки = " + Стр);
Возврат;
КонецЕсли;
ПределЦикла = Мин(КоличествоТекущее, КоличествоВсего - КоличествоНакопленное);
Для ии = 1 По ПределЦикла Цикл
Рекурсия(КоличествоВсего, ии, КоличествоНакопленное + ии, Стр + ?(Стр = "","", "+") + Строка(ии), Уровень + 1);
КонецЦикла;
КонецПроцедуры
//*******************************************
Процедура Сформировать()
Кол = 0;
Если ВвестиЧисло(Кол,"",10,0,60) = 1 Тогда
Рекурсия(Кол, Кол, 0, "", 0);
КонецЕсли;
КонецПроцедуры
Показать полностью |
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот