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

Получить все возможные варианты загрузки ящиков - C++

Восстановить пароль Регистрация
 
antimat
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 47
10.06.2013, 19:51     Получить все возможные варианты загрузки ящиков #1
На перевозку 800 кг овощей с базы подготовлены ящики. В них можно загрузить
по 8, 10 и 15 килограммов. Получить все возможные варианты загрузки ящиков.

Помогите решить циклами for ,while , do while!

Добавлено через 1 час 20 минут


Добавлено через 1 час 8 минут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 19:51     Получить все возможные варианты загрузки ящиков
Посмотрите здесь:

C++ Все возможные варианты перестановки символов строки
C++ В магазине для пересылки по почте подготовлено 60 книг. Посылки комплектующих по 10, 15 и 20 книг. Получить все возможные варианты комплектов
C++ Получить все возможные варианты комплектов книг. Исправить код
C++ Получить все возможные варианты комплектов из 60 книг, если посылки комплектуются по 10, 15 и 20 книг (поиск ошибки)
C++ Вывести все возможные варианты перестановок от 1 до n
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
10.06.2013, 20:11     Получить все возможные варианты загрузки ящиков #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    const int capacity1 = 8, capacity2 = 10, capacity3 = 15, need = 800;
    for (int i=0; i <= need; i += capacity1)
        for (int j=0; j <= need; j += capacity2)
            for (int k=0; k <= need; k += capacity3)
                if (i + j + k == need)
                    std::cout << "First: "    << i / capacity1
                              << "\nSecond: " << j / capacity2
                              << "\nThird: "  << k / capacity3
                              << "\n\n";
}
antimat
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 47
10.06.2013, 20:32  [ТС]     Получить все возможные варианты загрузки ящиков #3
Цитата Сообщение от MrGluck Посмотреть сообщение
Код C++
многовато вариантов считает)
мне нужно например"100 ящиков по 8кг,80 ящиков по 10кг, 53 ящика по 15кг"
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
10.06.2013, 20:40     Получить все возможные варианты загрузки ящиков #4
antimat, создайте флаг needBreak = false;
Добавьте && !needBreak ко всем условиям цикла
В тело if запихните
needBreak = true;

Это очень сложно?

Добавлено через 2 минуты
Кстати, выведет вам
2 ящика по 10 кг и 52 ящика по 15 кг.
Каково условие - таков и ответ
antimat
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 47
10.06.2013, 20:42  [ТС]     Получить все возможные варианты загрузки ящиков #5
в общем то да
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
10.06.2013, 20:48     Получить все возможные варианты загрузки ящиков #6
antimat, как ящики ограничивать вы, думаю, разберетесь и без меня
Yandex
Объявления
10.06.2013, 20:48     Получить все возможные варианты загрузки ящиков
Ответ Создать тему
Опции темы

Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru