|
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 8
|
||||||
Разбиение числа на неповторяющиеся(различные) слагаемые18.12.2019, 18:46. Показов 11441. Ответов 6
Со стандартного устройства ввода вводится в первой строке число N – разбиваемое
число. 1<=N<=1000. Нужно выдать на стандартное устройство вывода через пробел N чисел. K-тое число должно показывать, сколько существует разбиений числа N на слагаемые без повторов, в которых наибольшее слагаемое не превосходит K. Например, для N=10: 0 0 0 1 3 5 7 8 9 10 Я написал решение через рекурсию с запоминанием, но не проходит по времени, хотелось бы найти решение
0
|
||||||
| 18.12.2019, 18:46 | |
|
Ответы с готовыми решениями:
6
Разложение числа на неповторяющиеся слагаемые
Разбиение числа на слагаемые |
|
Модератор
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,876
|
||||||
| 19.12.2019, 12:42 | ||||||
|
Алгоритм (без оптимизации по производительности):
Добавлено через 2 минуты В С++ логично для хранения состояния использовать массив, и менять его нужно справа налево (с конца).
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 8
|
||
| 21.12.2019, 14:51 [ТС] | ||
|
0
|
||
|
Модератор
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,876
|
||||||
| 22.12.2019, 10:46 | ||||||
|
Копия, сдвинутая на 2:
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 8
|
||||||
| 24.12.2019, 18:21 [ТС] | ||||||
|
Shamil1 Спасибо большое за ваши рассуждения,но я так и не понял идеи вашего решения, но нашёл своё, может кому понадобится:
0
|
||||||
|
Модератор
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,876
|
|||||||||||||||||||||||||||
| 25.12.2019, 10:29 | |||||||||||||||||||||||||||
Сообщение было отмечено Olegzey как решение
РешениеГотовим массив промежуточных решний решений d. d[i, j] - количество разбиений числа j на слагаемые не больше i. На слагаемые не больше 0 можно разбить только 0, поэтому нулевая строка (i = 0) выглядит так:
Количеству разбиений числа j без использования слагаемого i уже посчитано раньше и равно d[i-1,j]. Количество разбиений числа j с использованием слагаемого i равно количеству разбиений числа j-i без использования слагаемого i. Оно тоже уже посчитано раньше и равно d[i-1,j-i]. Чтобы посчитать всю строку d[i], нужно к строке d[i-1] прибавить строку d[i-1], сдвинутую на j позиций вправо. Строка 1:
На каждом шаге нужно печатать (или сохранять) последний элемент строки - количество разбиений числа N. В императивном стиле код будет выглядеть так:
0
|
|||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.09.2018
Сообщений: 8
|
|
| 27.12.2019, 16:14 [ТС] | |
|
Shamil1, теперь понял, ваше решение однозначно быстрее, но для меня такой быстроты и не требуется, но тем не менее, огромное вам спасибо за потраченное время, теперь то можно и тему закрыть
0
|
|
| 27.12.2019, 16:14 | |
|
Помогаю со студенческими работами здесь
7
Разбиение числа n на слагаемые Разбиение числа на слагаемые Разбиение числа на заданные слагаемые Разбиение числа на слагаемые. Итеративное решение Сформировать массив Y=(yl,y2,...,ym), поместив в него в порядке убывания все различные (неповторяющиеся) числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|