Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 18:03   #1
Andrey344
Новичок
Джуниор
 
Регистрация: 07.11.2011
Сообщений: 1
По умолчанию генерация всех разбиений целого числа

нужен пример программы генерация всех разбиений целого числа C++. ПРИМЕР РАЗБИЕНИЕ числа 8 :
8
71
611
521
5111
44
431
422
4211
41111
подскажите алгоритм действия или пример программы...
Andrey344 вне форума Ответить с цитированием
Старый 07.11.2011, 21:20   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Представим себе число как сумму единичек
Код:
8 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
Разбиение разделяет эти единички, ставит между ними барьеры. Поскольку мы перебираем различные разбиения, будем рассматривать только те, в которых следующее слагаемое не больше предыдущего. (тут была попытка перебирать позиции барьеров) Рассмотрим пример с четырьмя слагаемыми. Раз их четыре, первое не больше пяти.
Вариантов с первым слагаемым пять, прочими тремя (дающими в сумме три) не больше пяти V(3, 3, 5)=1.
Вариантов с первым слагаемым четыре, прочими тремя (в сумме четыре) не больше четырёх V(4, 3, 4) = V(2, 2, 2) + V(3, 2, 1) = 1+0=1.
Вариантов с первым слагаемым три, прочими тремя (в сумме пять) не больше трёх V(5, 3, 3) = V(2, 2, 3) + V(3, 2, 2) + V(4, 2, 1) = 1+1+0=2.
С первым слагаемым два: V(6, 3, 2) = V(4, 2, 2) = V(2, 1, 2) = 1.
Складываем, имеем 5 вариантов.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cумма цифр целого числа К Licwin Паскаль, Turbo Pascal, PascalABC.NET 8 01.07.2011 11:38
не работает перевод из целого числа в ASCII professor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.06.2010 06:59
Вывести числа целого неотр. числа Gonzo Помощь студентам 11 04.05.2010 16:55
Поиск целого числа в строке sven117 Общие вопросы C/C++ 9 01.07.2009 14:01
сумма цифр целого числа mihsel Microsoft Office Excel 8 13.04.2009 13:57