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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.76
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
#1

Алгоритм перебора - C++

18.06.2011, 11:09. Просмотров 5222. Ответов 6
Метки нет (Все метки)

Всем доброго времени суток!
Уважаемые форумчане подскажите алгоритм полного перебора, можно без кода, лишь ход действий.
Конкретнее. В кармане некоторое количество монет. Какие суммы денег возможны из данного количества. Например: есть 3 монеты. Возможны варианты: 1+1+5=7 копеек, 5+10+10=25 копеек и т.п. Вынес себе весь мозг, так ниче и не придумал. Пробовал разные варианты но все не то. Если кто знает, как решить подскажите.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 11:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм перебора (C++):

Объяснить алгоритм просто перебора - C++
доброго времени суток! мой вопрос, наверное, покажется Вам очень глупым, но очень нужна ваша помощь! задачка не сложная:У Вас есть N...

Алгоритм перебора всех возможных значений - C++
Здравствуйте, суть задачи алгоритма состоит в поиске всех возможных сочетаний букв в слове. Параметром в функцию передаются вектор,...

Алгоритм перебора цифр 0 и 1 в четырехзначном числе - C++
Всем привет, помогите пожалуйста, уже третий день не могу придумать алгоритм перебора чисел 0 и 1. Должно получиться к примеру вот так: ...

Алгоритм перебора разных комбинаций простых чисел - C++
Доброго времени суток! Решаю разнообразные задачки по программированию, попалась вот такая: Определим функцию P(n,k) следующим...

Реализовать рекурсивный алгоритм перебора без повторений - C++
Реализовать рекурсивный алгоритм перебора без повторений. Пример: abc abc, acb, bca, bac, cab, cba.

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab () { int s1 = 0; int s2 =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
18.06.2011, 11:15 #2
А возможные стоимости монет задаются? Пронумеровать их натуральными числами от 1 до N, тогда задача аналогична этой (см. разбор)
0
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
18.06.2011, 11:34  [ТС] #3
Возможные стоимости монет как в реальности 1,5,10,25,50...Их можно задать в коде программы...
Все верно по ссылке...Задача сводится к алгоритму полного перебора...Вот у меня загвоздка, не могу понять как задать сам цикл перебора...Повторюсь мне код не важен, сам напишу, мне важен алготритм, хоть на пальцах хоть на псевдоязыке)
0
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
18.06.2011, 11:52 #4
То есть вам нужен список наборов вроде
Код
1 1 1
1 1 2
1 1 3
1 1 4
1 2 1 
1 2 2 
1 2 3
1 2 4
1 3 1
...
Тут несложно вывести функцию, которая будет делать из предыдущего набора следующий, пробуйте. Не выйдет - спрашивайте, в чем сложности.
0
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
19.06.2011, 20:33  [ТС] #5
Тут напрашивается рекурсия, вот тока чета не пойму что делать...
Сделал так, объявил массив из 5 элементов - цена монет... Другой массив, равный коичеству монет... Потом циклом перебирал... цикл for не подходит, пробовал while с проверкой на равенство всех монет последнему значению цены... Но выходит не так как надо... И застопорился...
Голимый брут форс...
Я прикину кой чего и выложу...
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
19.06.2011, 20:45 #6
Вот здесь я реализовывал такую функцию с названием next_combination. "Енумы" там, конечно, ни к чему, но принцип абсолютно тот же.
1
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
21.06.2011, 15:07  [ТС] #7
Вот тут кое чего нашел:
http://www.bearcave.com/random_hacks/permute.html
Исправлю под себя и выкину готовый код...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 15:07
Привет! Вот еще темы с ответами:

Ускорение алгоритма перебора - C++
Здравствуйте! В общем есть такая задачка: Имеются N(1 ≤ N ≤ 18) камней с массами W1, W2 , … WN. И, короче, нужно разложить камни на...

Задача перебора элементов - C++
Всем привет! Собственно есть задача с которой я не могу совладать. Загвоздка не в программировании, а в том чтоб придумать алгоритм, чтобы...

Оптимизация полного перебора - C++
Пусть требуется подобрать пин-код длиной 4 символа (может содержать как цифры и буквы, так и другие символы). Использую метод полного...

Программа метод перебора - C++
"Составить программу, находящую максимальное и минимальное значе-ние функции F(x) с заданной точ-ностью , при этом применяется метод...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.06.2011, 15:07
Ответ Создать тему
Опции темы

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