Сколько комплектов упаковок можно составить. - Pascal
Формулировка задачи:
Для школьной столовой нужно купить 155кг крупы. На складе имеются упаковки по 7, 12 и 15 кг. Сколько комплектов упаковок можно составить. Упаковки вскрывать нельзя.
Решение задачи: «Сколько комплектов упаковок можно составить.»
textual
Листинг программы
var i,j,k,l:integer;
begin
for i:=0 to 155 div 15 do
for j:=0 to 155 div 12 do begin
l:=155-i*15-j*12;
if (l>=0) and (l mod 7=0) then begin
writeln('15x',i,' 12x',j,' 7x',(155-i*15-j*12) div 7);
k:=k+1;
end;
end;
writeln(k)
end.
Объяснение кода листинга программы
- Объявляются переменные:
i,j,k,lтипа integer.
- Начинается цикл:
- Переменная
iперебирает значения от 0 до результата целочисленного деления 155 на 15. - Переменная
jперебирает значения от 0 до результата целочисленного деления 155 на 12.
- Переменная
- Внутри вложенного цикла вычисляется значение переменной
l:lприсваивается результат 155 минусiумноженное на 15 иjумноженное на 12.
- Проверяется условие:
- Если
lбольше или равно 0 и при деленииlна 7 остаток равен 0, то выполняется блок внутри условия.
- Если
- В случае выполнения условия выводится на экран сообщение о возможных комплектах упаковок:
- Количество упаковок по 15 шт.:
i. - Количество упаковок по 12 шт.:
j. - Количество упаковок по 7 шт.: результат деления (155 минус
iумноженное на 15 иjумноженное на 12) на 7.
- Количество упаковок по 15 шт.:
- Увеличивается значение переменной
kна 1. - По завершении всех циклов на экран выводится значение переменной
k.