М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ruma1974
ruma1974
21.11.2020 03:00 •  Информатика

Вмагазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. как купить ровно 185 кг мастики, не вскрывая ящики? сколькими можно это сделать? напишите программу на языке c

👇
Ответ:
ivankal
ivankal
21.11.2020
program gt;
var a,b,c,k:integer;
begin
k:=0;
for a:=0 to 12 do
for b:=0 to 10 do
for c:=0 to 8 do
if(a*15+b*17+c*21=185)then begin
k:=k+1;
writeln(a,' ',b,' ',c);
end;
writeln(k,'-кол-во
end.

185/15=12(приблеженно)
185/17=10
185/21=8
т.е 185 div 21=8 ..
выбераем все случаи и находим кол-во
так как больше 12 мастика по 15 кг нельзя(будет >185)
и 10 по 17 и 8 по 21 то перечислим случаи и найдем решение где выполняется все условие
4,4(97 оценок)
Ответ:
Ученик28889
Ученик28889
21.11.2020
Давайте разберемся с этим вопросом пошагово.

1) Для начала, нам нужно определить, сколько ящиков каждого типа нам понадобится купить.
2) Затем, мы должны учесть, что суммарный вес всех ящиков должен быть равным 185 кг.
3) Нам необязательно вскрывать ящики, поэтому мы можем прийти к этому решению, используя математические операции.

Начнем с первой части.

Мы имеем три типа ящиков: 15 кг, 17 кг и 21 кг. Предположим, что мы будем покупать x ящиков по 15 кг, y ящиков по 17 кг и z ящиков по 21 кг.

Тогда у нас есть следующие уравнения:

15x + 17y + 21z = 185 (уравнение, которое должно давать нам суммарный вес 185 кг)
x, y, z >= 0 (уравнения, обозначающие, что количество ящиков должно быть больше или равно нулю)

На данный момент у нас есть система уравнений, но нам нужно найти целочисленные значения x, y и z, чтобы получить решение задачи.

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

Перебор:

for (x = 0; 15*x <= 185; x++) {
for (y = 0; 17*y <= 185; y++) {
for (z = 0; 21*z <= 185; z++) {
if (15*x + 17*y + 21*z == 185) {
// Найдено решение
printf("x = %d, y = %d, z = %d\n", x, y, z);
}
}
}
}

Здесь мы перебираем все возможные значения x, y и z от 0 до максимально возможного значения (в данном случае это значение, при котором суммарный вес ящиков не превышает 185 кг).

Если находим такое значение x, y и z, что суммарный вес равен 185 кг, то мы выводим эти значения на экран.

Таким образом, программа будет выводить все возможные комбинации ящиков, которые позволяют купить ровно 185 кг мастики.

Надеюсь, я максимально подробно объяснил, как решить эту задачу с помощью программы на языке C. Если у вас есть дополнительные вопросы, буду рад на них ответить!
4,6(76 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ