Я уже решал эту задачу. Я руками за 5 дней делаю 5 коробок, и на 6-ой день покупаю духовку. Руками и духовкой я делаю 2 коробки в день, за 5 дней - 10 коробок. На 6-ой день я покупаю вторую духовку. Руками и 2-мя духовками я за 5 дней делаю 15 коробок, и на 6-ой день покупаю 3-ью духовку. И так далее. Чтобы купить очередную духовку, я работаю 5 дней, а на 6-ой день ее покупаю, и у меня печенья не остается совсем. То есть, после покупки каждой духовки я начинаю всё с нуля. Главное - понять, когда нужно остановиться покупать духовки и начать уже копить печенье на складе. Итак, подведем итоги: 1) На покупку каждой духовки мы тратим 6 суток и начинаем с нуля. 2) Имея n духовок, мы делаем 584 коробок печенья за trunc(584/(n+1)) + 1 дней, где trunc(x) = [x] - это целая часть x. 3) Всего мы тратим времени T(n) = 6n + trunc(584/(n+1)) + 1 --> min Минимум функции trunc(584/(n+1)) совпадает с минимумом 584/(n+1) T(n) = 6n + 584/(n+1) + 1 --> min T'(n) = 6 - 584/(n+1)^2 = (6(n+1)^2 - 584) / (n+1)^2 = 0 6(n+1)^2 - 584 = 0 (n+1)^2 = 584/6 = 97,33 n + 1 = √97,33 ~ 9,86 = 10 n = 9 Значит, нужно ограничиться покупкой 9 духовок. За 6*9 = 54 дня мы их купим, и за 584/10 ~ 59 дней мы соберем нужное количество коробок на складе. Всего мы истратим 54 + 59 = 113 дней.
// PascalABC.NET 3.0, сборка 1128 begin var a:=ArrRandom(70,1,100).PrintLn; Writeln('Количество элементов, кратных трем: ', a.Where(x->x mod 3=0).Count); var p:=a.OrderByDescending(x->x).Take(4).ToArray; if (p[0]=p[1]) and (p[0]=p[2]) and (p[0]<>p[3]) then Writeln('В массиве ровно три одинаковых максимальных элемента') else Writeln('В массиве не три одинаковых максимальных элемента'); Writeln('Массив, из которого удалены элементы с нечетными значениями'); a.Where(x-> not Odd(x)).PrintLn end.
Я руками за 5 дней делаю 5 коробок, и на 6-ой день покупаю духовку.
Руками и духовкой я делаю 2 коробки в день, за 5 дней - 10 коробок.
На 6-ой день я покупаю вторую духовку.
Руками и 2-мя духовками я за 5 дней делаю 15 коробок, и на 6-ой день покупаю 3-ью духовку.
И так далее. Чтобы купить очередную духовку, я работаю 5 дней, а на 6-ой день ее покупаю, и у меня печенья не остается совсем.
То есть, после покупки каждой духовки я начинаю всё с нуля.
Главное - понять, когда нужно остановиться покупать духовки и начать уже копить печенье на складе.
Итак, подведем итоги:
1) На покупку каждой духовки мы тратим 6 суток и начинаем с нуля.
2) Имея n духовок, мы делаем 584 коробок печенья за
trunc(584/(n+1)) + 1 дней, где trunc(x) = [x] - это целая часть x.
3) Всего мы тратим времени T(n) = 6n + trunc(584/(n+1)) + 1 --> min
Минимум функции trunc(584/(n+1)) совпадает с минимумом 584/(n+1)
T(n) = 6n + 584/(n+1) + 1 --> min
T'(n) = 6 - 584/(n+1)^2 = (6(n+1)^2 - 584) / (n+1)^2 = 0
6(n+1)^2 - 584 = 0
(n+1)^2 = 584/6 = 97,33
n + 1 = √97,33 ~ 9,86 = 10
n = 9
Значит, нужно ограничиться покупкой 9 духовок.
За 6*9 = 54 дня мы их купим, и за 584/10 ~ 59 дней мы соберем нужное количество коробок на складе.
Всего мы истратим 54 + 59 = 113 дней.
begin
var a:=ArrRandom(70,1,100).PrintLn;
Writeln('Количество элементов, кратных трем: ',
a.Where(x->x mod 3=0).Count);
var p:=a.OrderByDescending(x->x).Take(4).ToArray;
if (p[0]=p[1]) and (p[0]=p[2]) and (p[0]<>p[3]) then
Writeln('В массиве ровно три одинаковых максимальных элемента')
else Writeln('В массиве не три одинаковых максимальных элемента');
Writeln('Массив, из которого удалены элементы с нечетными значениями');
a.Where(x-> not Odd(x)).PrintLn
end.
Тестовое решение:
38 85 87 89 78 50 26 92 6 41 14 57 14 41 81 5 30 21 27 71 92 55 76 53 84 18 62 28 85 58 14 58 42 92 1 93 68 67 53 65 15 45 47 57 76 60 6 88 44 4 27 21 39 67 96 84 10 35 6 60 88 98 7 48 28 56 16 23 40 88
Количество элементов, кратных трем: 25
В массиве не три одинаковых максимальных элемента
Массив, из которого удалены элементы с нечетными значениями
38 78 50 26 92 6 14 14 30 92 76 84 18 62 28 58 14 58 42 92 68 76 60 6 88 44 4 96 84 10 6 60 88 98 48 28 56 16 40 88
3 76 40 20 39 100 15 85 75 58 43 48 2 57 45 90 12 50 92 70 64 33 94 38 18 59 74 10 31 13 61 34 100 77 42 61 76 95 38 100 27 44 7 75 23 22 24 52 70 39 91 68 79 74 83 70 82 2 2 80 26 6 55 62 97 10 48 25 16 84
Количество элементов, кратных трем: 19
В массиве ровно три одинаковых максимальных элемента
Массив, из которого удалены элементы с нечетными значениями
76 40 20 100 58 48 2 90 12 50 92 70 64 94 38 18 74 10 34 100 42 76 38 100 44 22 24 52 70 68 74 70 82 2 2 80 26 6 62 10 48 16 84