1) описание массива должно быть константным, запись n+20 - переменная. Изменить: задать n+20 в виде константы.
2) будет куча ошибок
а) i: Byte - есть декларация, но нет инициализации перед использованием, вероятно, будут ошибки при попытке использования как индекс массива. (не совсем уверен, возможно разные среды могут проводить автоинициализацию в ноль, в таком случае тоже будет ошибка, но уже из-за несуществующего индекса массива)
б) нет декларации переменной C, хотя она используется (If C[i] Mod 10=0 Then p:=p+1;)
Программа вычисляет оптимальную максимальную мощность. Это оказывается 9 или 10 печенек в день (т.е 8 или 9 духовок)
в минимуме в общем целом на это уйдет 108 дней
код на руби
(1..100).step(1) {|max_productivity|
productivity = 1
cockies = 0
days = 0
upgrade_cost = 5 * productivity
while cockies < 532
if cockies >= upgrade_cost and productivity < max_productivity
cockies -= upgrade_cost
productivity += 1
upgrade_cost = 5 * productivity
else
cockies += productivity
end
days += 1
end
p [max_productivity, days, cockies, productivity]
}
Вывод (куска)
[6, 119, 534, 6]
[7, 112, 532, 7]
[8, 109, 536, 8]
[9, 108, 540, 9]
[10, 108, 540, 10]
[11, 109, 539, 11]
[12, 111, 540, 12]
[13, 113, 533, 13]
[14, 116, 532, 14]
[15, 120, 540, 15]
[16, 124, 544, 16]
[17, 128, 544, 17]
[18, 132, 540, 18]