![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.06.2008
Сообщений: 86
|
![]()
Помогите плиз. Нужна прога на паскаль. Суть такая: есть число К. Сколько есть способов расклада числа К на суму слагаемых. Для числа 5 их будет 7(прога виводит 7 при входном значении 5):
1)1+1+1+1+1 2)2+1+1+1 3)2+2+1 4)3+1+1 5)3+2 6)4+1 7)5 Замечу, что 2+3 и 3+2 ето один и тот же способ. для входних даних 7 надо вивести 15. Ведь есть 15 способов: 1) 1+1+1+1+1+1+1 2) 2+1+1+1+1+1 3) 2+2+1+1+1 4) 2+2+2+1 5) 3+1+1+1+1 6) 3+2+1+1 7) 3+2+2 8) 3+3+1 9) 4+1+1+1 10) 4+2+1 11) 4+3 12) 5+1+1 13) 5+2 14) 6+1 15) 7 Если можна помогите сделать программу. надо срочно. Спосибо заранее
TerMinAdoOR
Последний раз редактировалось terminadoor; 18.09.2008 в 20:14. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Поскольку приведенный выше вариант очень красиво выводит все разложения на экран, но очень медленно считает для N порядка 50 и выше (везде integer заменить на longint) даже если исключить вывод разложений на экран, предложу еще один вариант, который не выводит разложения на экран, зато очень быстро считает для N до 121, больше не позволяет тип Longint. Кроме того, при небольших N можно вывести на экран матрицу, где хранятся промежуточные результаты. По ней можно легко разобраться с логикой используемой рекуррентной формулы.
В коде вместо N написано K, как у автора темы. Код:
Последний раз редактировалось puporev; 19.09.2008 в 08:50. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
показать кол-во и сумму приходов | Romuald | Microsoft Office Excel | 10 | 02.09.2008 14:17 |
Разложить на сумму наминалов | Иллидан | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.05.2008 15:37 |
впочему не выводит сумму???? | макс07 | Общие вопросы C/C++ | 2 | 15.05.2008 20:25 |
Подсчитать сумму! | Deman4eg | Microsoft Office Excel | 2 | 02.04.2008 09:16 |
Задача на сумму к оплате. | caterva | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 12.06.2007 14:12 |