1. Определим наибольшее натуральное число, куб которого не превышает 2019. ∛2019 ≈ 12.6; отбрасывая дробную часть, получаем 12.
2. Выпишем набор натуральных чисел от 1 до 12 и их кубов:
1-1, 2-8, 3-27, 4-64, 5-125, 6-216, 7-<span><span><span>343, </span><span>8-512, </span><span>9-729, 1</span><span>0-1000, </span><span>11-1331, </span><span>12-1728
3. Определим при помощи "жадного" алгоритма набор кубов, дающий в сумме 2019 (из 2019 поочередно вычитаем.максимально возможные кубы):
2019-1728=291, 291-216=75, 75-64=11, 11-8=3, а 3 - это три раза по 1. Получаются кубы чисел 12, 6, 4, 2, 1, 1, 1 - всего СЕМЬ чисел.
4. Попытаемся улучшить найденное решение, отбрасывая те, которые найдут семь и более чисел.
Если взять число 11³=1331, то 2019-1331=688 и нужно составить его из кубов не более, чем 5 чисел.
688-512=176, 176-125=51, 51-27=24 ... и слишком длинно.
688-2×343=2, 2-1=1, 1-1=0 - 4 числа.
Улучшенное решение: <u>2019 = 11³+7³+7³+1³+1³</u></span></span></span>
Лучшего решения нет.
<h3>PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
Println(' ^~^ ');
Println('(`:'')');
Println('<###>');
Println(' / \ ');
Println('= = ')
end.
<h2>Можно Println заменить на Writeln</h2>