Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TaPaH
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 21
#1

Разложить число на возможные варианты суммы чисел массива - C++

18.12.2013, 11:17. Просмотров 1284. Ответов 3
Метки нет (Все метки)

Условие задачи: дан одномерный массив длины N и число L. Найти все возможные различные разложения числа L по элементам массива. Массив считается разложением числа L, если сумма его элементов равна L.
Т.е. есть у нас числа в массиве - 1,2,4,5 и если вводим число 7, программа должны вывести на экран комбинации сложений и их количество, тут это 1+2+4 и 2+5, значит комбинаций 2. При этом числа могут повторяться, например - 1, 1, 2, 4, 5 и здесь уже вариантов больше - 1+1+5, 2+4+1, 2+4+1, 5+2 и комбинаций 4. Как бы без языка программирования это понятно, но в голову, как на это дело написать алгоритм, ничего не лезет.
Прошу помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 11:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разложить число на возможные варианты суммы чисел массива (C++):

Определить все возможные варианты выплаты суммы N монетами 2 5 10 - C++
Нужно написать программу на С++ в консольным режиме.Пользователь вводит число N.и на экран выводятся все возможные варианты выплаты...

Варианты как разложить 5-значное число на цифры - C++
Здравствуйте! Помогите решить задачу. С помощью % и /, разложить 5-значное число на цифры и записать в обратном порядке (предыдущее...

Все возможные суммы элементов массива - C++
Нужно сформировать все возможные суммы массива размерностью N Для массива 1 3 5 Результат 4 6 8 9 То есть рассматриваем все возможные...

Двухзначное число втрое больше суммы своих чисел, а квадрат этой суммы равен утроенному начальному числу. Найти это число. - C++
Прошу помощи у знающих людей. Немогу решить 6 задач:( 2)Двухзначное число втрое больше суммы своих чисел, а квадрат этой суммы равен...

Вывести все возможные варианты перестановок от 1 до n - C++
Здравствуйте, у меня есть массив чисел от 1 до n, нужно чтобы выводились все возможные варианты перестановок по порядку, то есть для трёх...

Вывести все возможные варианты разреза трубы - C++
Вводится длина трубы, количество заготовок (1, 2, 3, 4 ил 5), которые можно вырезать из трубы, и длина каждой заготовки. Вывести все...

3
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
18.12.2013, 11:39 #2
Можно динамику прикрутить.

К примеру у тебя есть:
- solution(FIND, ARRAY) - возвращает сколькими способами можно набрать вес FIND в массиве ARRAY
- number_of(FIND, ARRAY) - возвращает сколько раз элемент FIND встречается в массиве ARRAY

Тогда solution(FIND, ARRAY) => number_of(FIND, ARRAY) + (разбиения на два числа) FOR(1<=I<FIND): solution(I, ARRAY) * solution(FIND-I, ARRAY) + разбиения на 3 и т.д. до разбиения на 7 единиц.

Если поймешь как это сделать динамику просто будет написать.
1
TaPaH
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 21
18.12.2013, 11:58  [ТС] #3
Хорошо, а если без solution(FIND, ARRAY) и number_of(FIND, ARRAY)? Просто интересовался с целью прикрутить алгоритм к 1с
0
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
18.12.2013, 12:13 #4
TaPaH, вы меня не правильно поняли.
Цитата Сообщение от outoftime Посмотреть сообщение
К примеру у тебя есть:
Я имел в виду что вы должны сами написать эти функции, что-бы они имели описанную функциональность.
0
18.12.2013, 12:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 12:13
Привет! Вот еще темы с ответами:

Получить все возможные варианты загрузки ящиков - C++
На перевозку 800 кг овощей с базы подготовлены ящики. В них можно загрузить по 8, 10 и 15 килограммов. Получить все возможные варианты...

Рассчитать все возможные варианты для 3 знаков - C++
Дано: 1 2 0 Найти все возможные комбинации 10 разрядного числа (пример: 1021020021) и чтобы можно задавать разные условия для кол-ва...

Все возможные варианты перестановки символов строки - C++
Дана строка s, состоящая из n символ (n меньше 6) составить все возможные варианты перестановки этих символов (язык C)

Структуры. Вывести все возможные варианты покупки товаров - C++
может кто нибудь помочь составить прогу /* с++ */ 1) С клавиатуры вводятся записи вида: товар - стринг (название товара) цена -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru