Пожалуйста, помогите понять задачу.
Задача о почтовых марках.
Почтовая служба выпускает марки N различных стоимостей и запрещает наклеивать на конверты больше, чем M марок вместе. Стоимость почтового отправления может быть любым натуральным числом.
По заданным N и M вычислить наибольшее целое число B и все возможные наборы марок, такие, что все стоимости от 1 до B можно оплатить марками набора при указанных выше условиях.
Хоть кто нибудь понял условия ?
Я нет ???
Да уж, мудренная задачка..
Если уж вы гиганты по задачам не поняли условие то уж я и подавно!!!
а цифры подставить место букв попробуй может поможет легкие и вручную подсчитать :-*
{ :o}
Uses
Crt;
Const
N = 5; {Количество стоимостей марок}
Cost : array[1..N] of Word = (1,5,2,4,3); {Цены}
M = 3; {Максимальное количество наклеиваемых марок}
Var
i,j,k:Integer;
MaxN,MaxB,Max:Word;
a:array[1..1000] of Boolean;
Comb:Single;
Begin
ClrScr;
For i:=1 to 1000 do a[i]:=False;
{Считаем максимальную сумму}
MaxN:=1;
For i:=1 to N do
If Cost[i]>Cost[MaxN] then MaxN:=i;
MaxB:=0;
For i:=1 to M do Inc(MaxB,Cost[MaxN]);
WriteLn(#32#249#32'Максимальная стоимость B = ',MaxB);
{Считаем максимальное количество комбинаций для значения N не считая декремент M}
Comb:=1;
For i:=1 to M do Comb:=Comb*N;
WriteLn(#32#249#32'Максимальное количество комбинаций = ', Comb:3:0);
{Дальше думай сам, комбинаторику я не проходил, но во всяком случае есть возможность исключить кучу ненужных комбинаций из матрицы, получаемой перебором всего массива}
End.