Другие языки программирования и технологии

Задача для написания на языке паскаль

Для комплектования новогодних подарков университет приобрел на кондитерской фабрике 820 кг конфет. Конфеты были упакованы в 100 коробок трех видов, вместимость которых составляла 6, 9 и 13 кг. Сколько коробок каждого вида было использовано? Сколько различных решений имеет данная задача? Найдите и укажите все возможные решения.
Очень Тупой Алгоритм:

n:=0;
for k:=0 to 820 div 6 do
for l:=0 to 820 div 9 do
for m:=0 to 820 div 13 do
if k+l+m=100 then
if k*6+l*9+m*13=820 then begin
writeln(k,l,m);
inc(n);
end;
writeln('A total of ',n,' solutions');
ЗР
Зелим Радуев
97 794
Лучший ответ
Неопределенная система:
6x + 9y + 13z = 820
x + y + z = 100.
Умножаем 2 ур-ние на 6, получаем:
6x + 9y + 13z = 820
6x + 6y + 6z = 600.
Отнимаем от 1-го 2-ое
3y + 7z = 220
7z = 220 - 3y
Значит, 220 - 3у должно делиться на 7, и при этом x, y, z должны быть целыми.
При у = 1 получаем: 220 - 3у = 217 = 7*31, z = 31, x = 100 - y - z = 100 - 1 - 31 = 68.
Остальные решения получаем, увеличивая у на 7. При этом z уменьшается на 3, а х на 4
y = 8, z = 28, x = 64
y = 15, z = 25, x = 60
y = 22, z = 22, x = 56
y = 29, z = 19, x = 52
y = 36, z = 16, x = 48
y = 43, z = 13, x = 44
y = 50, z = 10, x = 40
y = 57, z = 7, x = 36
y = 64, z = 4, x = 32
y = 71, z = 1, x = 28
Дальше z станет отрицательным, поэтому больше решений нет.
Bestshoes Bestshoes
Bestshoes Bestshoes
59 864
x+y+z=100
6x+9y+13z=820
реши как ситему