![]() |
|
Модераторы: Poseidon |
![]()
|
|
| nighthare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 24.12.2005 Репутация: нет Всего: нет |
Есть такая задачка: Дано натуральное число. Надо составить все его разбиения ( пример : 4=3+1 или 3=1+1+1) в антилексикографическом порядке (в обратном порядке - 4=4, 4=3+1 потом 4=2+2 , 4=2+1+1 , 4=1+2+1 , 4=1+1+2 и т.д. без нулей, т.е. все числа натуральные)
Мне кажется что это должно не сложно решаться с "рекурсивной процедурой", но вот что-то не могу сообразить...
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Собсно список получается последовательным перемещением единицы из головы в хвост.
Критерий частичного возврата - достижение нулевого элемента (который надо виртуально добавлять в список). По сути - обратная задача о рюкзаке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 7 Всего: 18 |
|
|||
|
||||
| nighthare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 24.12.2005 Репутация: нет Всего: нет |
Akina,
MBo, спасибо большое за помошь! |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
MBo, а твой вариант сделает так 4 = 2 + 2? Алгоритм толком не смотрел, потому спрашиваю.
|
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 7 Всего: 18 |
Fixin
Да, вот вывод для n=4 4 3 1 2 2 2 1 1 1 3 1 2 1 1 1 2 1 1 1 1 |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 3 Всего: 74 |
Берешь сначала число разлагаешь на единицы, потом берешь првую единичу и прибавляешь ко всем последовательно, потом берешь двойку ит.д.
-------------------- Всем добра |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |