Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
1

Определить максимальное количество печенья которое получит каждый гость

27.10.2018, 17:59. Показов 2936. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У Ильнара есть три коробки с печеньем, в которых a, b, c печенек соответственно. К Ильнару в гости пришло (n−1) человек. Ильнар хочет, чтобы всем гостям и ему досталось одинаковое количество печенек. Поэтому он хочет узнать сколько печенек достанется каждому, если он откроет несколько (возможно ни одной, возможно все три) коробок с печеньем, при этом все печеньки из открытых коробок должны быть розданы поровну (сами печенья нельзя ломать на части).

Определите максимальное количество печенек, которое получит каждый гость и Ильнар.
---------------------------------
Формат входных данных

В первой строке вводится 4 целых числа a,b,c,n (1≤a,b,c,n≤108)
----------------------------------
Формат выходных данных

Выведите единственное число - ответ на задачу.
----------------------------------
Sample Input 1:

1 2 3 4
Sample Output 1:

1
Sample Input 2:

3 4 5 19
Sample Output 2:

0

Мой код:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main() 
{
    int a, b, c, n;
    cin >> a >> b >> c >> n;
    cout << (a + b + c) / n;
    system("pause");
    return 0;
}
Проваливается во время тестов, вроде задача легкая, а я не знаю, в чем проблема.(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2018, 17:59
Ответы с готовыми решениями:

Гость из прошлого. Выведите одно целое число — максимальное количество литров кефира, которое сможет выпить Коля
Коля Герасимов очень любит кефир, и в своём 1984 году он освоил все тонкости покупки этого...

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

Вывести количество калорий, которое получит корова
Пастбище представляет собой прямоугольник, разбитый на N x N клеток. В каждой клетке растет трава,...

Определить максимальное суммарное количество пирожков, которое может съесть Ваня
Ваня Пирожков очень любит пирожки с картошкой и с капустой. Один пирожок с картошкой он съедает за...

12
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
27.10.2018, 18:16 2
Цитата Сообщение от TheLastochka Посмотреть сообщение
К Ильнару в гости пришло (n−1) человек
можно вопрос, -1 человек это как, если нормально то в вашем коде нет его.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main() 
{
    int a, b, c, n;
    cin >> a >> b >> c >> n;
    cout << (a + b + c) / (n + 1);
    system("pause");
    return 0;
}
может так?
Цитата Сообщение от TheLastochka Посмотреть сообщение
Ильнар хочет, чтобы всем гостям и ему досталось одинаковое количество печенек.
0
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
27.10.2018, 18:23  [ТС] 3
Тут получается, что гостей n-1, но еще к ним нужно прибавить Ильнара. Получается, что нужно поделить на n человек.
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
27.10.2018, 18:26 4
Цитата Сообщение от TheLastochka Посмотреть сообщение
то гостей n-1, но еще к ним нужно прибавить Ильнара.
n-1 это с учетом Ильнара я полагаю.

Добавлено через 58 секунд
иначе почему гостей n-1?

Добавлено через 1 минуту
гостей же может быть ноль? а Ильнар всегда есть
0
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
27.10.2018, 18:27  [ТС] 5
К Ильнару в гости пришло (n−1) человек. К нему пришло n-1. Он сам к себе придти не мог, получается, что всего n
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
27.10.2018, 18:29 6
Цитата Сообщение от TheLastochka Посмотреть сообщение
К Ильнару в гости пришло (n−1) человек. К нему пришло n-1. Он сам к себе придти не мог, получается, что всего n
для чего в задании написано n-1, а не просто n?

Добавлено через 1 минуту
твой код упадет если гостей будет 0 и не учитывает Ильнара
0
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
27.10.2018, 18:40  [ТС] 7
Гостей ноль не будет, так как диапазон от 1 и плюс Ильнар. Так что минимум 1. А дано n-1 для того, чтобы не было в решении n+1(если бы пришло n гостей). Если не учитывать Ильнара, то будет всего n гостей, а не n+1. Тем более, если n-1 вместе с Ильнаром, то будет всего 0 человек при n равном единице, а их будет 1.=> неверно. Короче вместе с Ильнаром там будет n. И если всего человек n-1, то в 1-м тесте, который они привели будет ответ 2, а не 1.
Другие исключения есть в моем коде? То есть если я правильно считаю, что всего n человек, то мой код будет работать правильно?
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
27.10.2018, 19:23 8
Цитата Сообщение от TheLastochka Посмотреть сообщение
Гостей ноль не будет, так как диапазон от 1 и плюс Ильнар.
хорошо, гостей 0 быть не может, но ты все равно в своем коде эльнара не учитываешь, +1 нужно делать

Добавлено через 1 минуту
мой код тоже тесты не проходит?

Добавлено через 11 минут
Цитата Сообщение от TheLastochka Посмотреть сообщение
(n−1) человек
по моему это говорит о том что всего человек n, а пришло в гости n-1, то есть (гости) = (всего человек) - (Эльнар).
0
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
27.10.2018, 19:33  [ТС] 9
Так да, а нужно все печеньки разделить на ВСЕХ людей, то есть на N.
Другие исключения есть в моем коде? То есть если я правильно считаю, что если всего n человек, то мой код будет работать правильно?
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
27.10.2018, 19:42 10
Цитата Сообщение от TheLastochka Посмотреть сообщение
Другие исключения есть в моем коде?
в твоем коде все нормально, в задание есть непонятка.
Цитата Сообщение от TheLastochka Посмотреть сообщение
если он откроет несколько (возможно ни одной, возможно все три)
где переменная которая хранит количество коробок которое откроет Ильнар. в задании три переменные коробки и одна переменная гостей.

Добавлено через 4 минуты
он всегда открывает 3 коробки
1
4 / 4 / 0
Регистрация: 10.08.2018
Сообщений: 40
27.10.2018, 19:47  [ТС] 11
Ну это переменная не нужна. Максимальное кол-во печенек всегда будет не меньше, чем кол-во печенек при открытии всех коробочек. Другими словами, не надо рассматривать случаи, когда он открывает меньше 3 коробочек - это бессмысленно.
Но получается, что ошибка в проверяющем тесте.
0
698 / 105 / 19
Регистрация: 22.06.2014
Сообщений: 234
27.10.2018, 20:59 12
Вам не кажется, что задача сводится к тому, чтобы рандомно выбирать все возможные комбинации первых трёх чисел входных данных, целочисленно делить их сумму на последнее и в выходной поток выплёвывать рандомный из доступных результатов? Тестирующая система будет для вас генерировать четыре числа и проверять попадает ли ваш выхлоп в область правильных ответов.

Добавлено через 31 минуту
Может я как-то по-своему понял задачу, не знаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdlib>
#include <ctime>
#include <iostream>
 
using namespace std;
 
int main() {
    size_t a, b, c, n;
    cin >> a >> b >> c >> n;
    srand(static_cast<unsigned>(time(nullptr)));
    size_t sum = 0, k = rand() % 8;
    switch (k) {
    case 0: sum = a; break;
    case 1: sum = b; break;
    case 2: sum = c; break;
    case 3: sum = a + b; break;
    case 4: sum = a + c; break;
    case 5: sum = a + b + c; break;
    case 6: sum = b + c; break;
    case 7:;
    }
    cout << static_cast<int>(sum / n) << endl;
    return 0;
}
0
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
27.10.2018, 21:28 13
Задача сводится к тому, что бы взять все комбинации печенек в коробках и выяснить максимальное частное от деления этого количества на число гостей + 1 (хозяин) без остатка. В примитивном виде это выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
void test(int cookies, int men, int& cmmax) {
    if (cookies % men == 0) {
        int cm = cookies / men;
        if (cm > cmmax)
            cmmax = cm;
    }
}
 
int main() {
    int a, b, c, n, m = 0;
    cin >> a >> b >> c >> n;
 
    test(a, n, m);
    test(b, n, m);
    test(c, n, m);
    test(a + b, n, m);
    test(a + c, n, m);
    test(b + c, n, m);
    test(a + b + c, n, m);
    cout << m;
}
0
27.10.2018, 21:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2018, 21:28
Помогаю со студенческими работами здесь

Определить максимальное количество ноутбуков, которое может быть размещено на складе
Всё решил кроме этой задачи, помогите пожалуйста) Складирование ноутбуков На склад, который имеет...

Найти вероятности событий: каждый игрок получит туза; один из игроков получит все 13 карт одной масти
52 карты раздаются четырем игрокам (каждому по 13 карт). Найти вероятности следующих событий:...

Определить, сколько купюр получит каждый работник
Вася с Петей и Колей заработали много денег. Чтобы не мучиться с дележкой, они решили, что сначала...

Максимальное количество кусочков, на которое можно разбить слово
Помогите решить задачу. Дано: в первой строке вводится число n(от 1 до 10), потом в n строках...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru