Так, в предыдущем решении - наврал. Считал, что 7 - это стоимость чистого напитка, без тары. А так действительно получается 83. Исправил.
Рассуждал я так.
Обозначим количество приобретенных бутылок в понедельник, вторник и т.д. до пятницы как m1, m2, m3, m4, m5. Полученную сдачу - как s1, s2, s3, s4, s5. По условию задачи m5=1 и s5=0. Теперь посмотрим на ситуацию в четверг. Пятничное приобретение единственной бутылки было сделано за счет сдачи s4 и продажи тары m4*3, откуда имеем
7 = m4*3 + s4, откуда m4 = (7 - s4)/3.
Казалось бы, не зная s4, найти m4 невозможно, но:
1. это диофантово уравнение, т.е. ответ (m4) должен быть целым числом.
2. мы интересуемся минимальной стартовой суммой, а значит и на каждом этапе из всех возможных количеств бутылок мы должны взять минимальное.
Практически это означает, что, стартуя с s4=6, мы должны уменьшать это s4 до тех пор, пока не получим целого m4.
Далее то же самое проделываем для m3, s3, потом для m2, s2 и, наконец, для m1, s1. Ответом будет
m1*7 + s1.
Программа:
Код:
Const
n=7;
k=3;
Var
s,s1,i:byte;
m:word;
Begin
m:=1;
s1:=0;
For i:=1 to 4 do
begin
s:=7;
repeat
Dec(s);
until Frac((m*n+s1-s)/k)=0;
m:=Round((m*n+s1-s)/k);
s1:=s;
end;
Writeln(m*n+s);
Readln
End.