Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для DrMcSheen
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520

Алгоритм смешивания коктейля

28.11.2009, 17:44. Показов 1617. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, выручайте!
Чувствую, что задача простейшая, но уже голову сломал.
Для примера:
Даны 5 бутылок напитков по 0,5 л.
Нужно перебрать все возможные варианты смешивания коктейлей, при условии, что из каждой бутылки можно брать порции минимум 100 гр. Т.е. 5 вариантов для каждой бутылки.
В итоге получается от 0 до 2,5 л коктейля. Результат загнать в массив.

Вся сложность в том, что в задаче количество бутылок и порций может изменяться.
Сколько вложенных циклов делать? Скольки-мерный массив?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2009, 17:44
Ответы с готовыми решениями:

Программа для смешивания букв в словах, которая берет их из вордовского документа
Есть ли у кого-нибудь код программы для перемешивания букв во всех словах word документа

Реализация поиска коктейля
Как в ASP.NET MVC сделать так, чтобы в одной колонке из БД выводился список продуктов, потом из него добавлять продукты во вторую колонку и...

Параметры смешивания BlendFunc
Здравствуйте, уважаемые форумчане. На картинке есть входные параметры цвета примитива.Не могу понять, какие параметры нужно передать в...

4
4 / 4 / 1
Регистрация: 28.11.2009
Сообщений: 6
28.11.2009, 18:03
Что то не совсем вник в условие.
Получается общее кол-во коктейлей, которое получится из n-бутылок будет равно: (n*5)!.
Или при учете, что порции могут изменяться: (Кол-во_бутылок*(Кол-во_грамм_в_бутылке/Грамм_в_порции))!.

Нужно это?
0
 Аватар для DrMcSheen
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
28.11.2009, 18:38  [ТС]
Блин, точно туплю. Факториал не разобрал, чуть в объяснения не вдарился
Именно так.

Добавлено через 26 минут
В результате тупого перебора набора 2х2 получилось 12 вариантов. Т.е. (2х2)!/2
0
 Аватар для DrMcSheen
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
29.11.2009, 15:45  [ТС]
Нет, вру. Если отбросить повторяющиеся варианты, останется только 8. (не считая 0)
0
 Аватар для DrMcSheen
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
30.11.2009, 11:49  [ТС]
Вот что посоветовали на форуме математиков:
Имеется N бутылок по M порций.
Коктейль представляется N-разрядным числом в (M+1)-ричной системе счисления. Таких чисел P = (M+1)^N (если учитывать ноль)
Остается сделать цикл от 1 до P, на каждой итерации счетчик цикла представляет собой уникальный набор для коктейля
Гениальное решение! В жизни бы не догадался.


Возможны и другие варианты реализации.
Самый простой - рекурсивная генерация
Delphi
1
2
3
4
5
6
procedure Coctail(Bottle, CurrentCoctail)
  if Bottle > LastBottle 
    вывести CurrentCoctail
  иначе
   for i := 0 to MaxPortionsInBottle do
     Coctail((Bottle + 1, CurrentCoctail + [i*Portion из Bottle])
Вот с этой рекурсией вообще не втыкаюсь.
Где тут можно прочитать каждый CurrentCoctail ?
Там спросил, чот молчат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2009, 11:49
Помогаю со студенческими работами здесь

Настройка шейдера для смешивания спрайтов взрывов
Здравствуйте, имеются спрайты взрывов, при обычном наложении друг на друга темные участки верхнего взрыва будут затемнять светлые участки...

Как задать собственную функцию смешивания альфа-канала?
Вопрос в шапке.

Найти массу для смешивания при заданной концентрации
Имеется два раствора, вводим в программу вес и концентрацию первого, затем вес и концентрацию второго. Затем вводим вес и концентрацию...

Избежать смешивания цветов при наложении цветных кругов друг на друга
Проблема в том что необходимо как бы прозрачные три круга разного цвета, два получаются а вот по середине смешение цветов и ерунда ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru