ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий
Тип задачи: Самостоятельное написание алгоритма.
| КЭС: | 3.2 Оценка сложности вычислений. Время работы и объём используемой памяти, их зависимость от размера исходных данных. Оценка асимптотической сложности алгоритмов. Алгоритмы полиномиальной сложности. Переборные алгоритмы. Примеры различных алгоритмов решения одной задачи, которые имеют различную сложность 3.6 Язык программирования (Паскаль, Python, Java, C++, C#). Типы данных: целочисленные, вещественные, символьные, логические. Ветвления. Сложные условия. Циклы с условием. Циклы по переменной. Обработка данных, хранящихся в файлах. Текстовые и двоичные файлы. Файловые переменные (файловые указатели). Чтение из файла. Запись в файл. Разбиение задачи на подзадачи. Подпрограммы (процедуры и функции). Использование стандартной библиотеки языка программирования |
| Тип ответа: | Краткий ответ |
Ответ: 13
Решение.
Функция f(n) вычисляет n³. Переменная i начинается с 1 и увеличивается, пока i³ меньше входного k. Для k больше 1 после цикла i³ не меньше k, а предыдущий куб (i − 1)³ меньше k.
Затем программа сравнивает расстояния от k до этих двух соседних кубов. Если расстояние до верхнего куба не больше расстояния до нижнего, печатает i; иначе печатает i − 1. При равных расстояниях выбирается верхний куб.
Для k = 12 цикл останавливается при i = 3: (2)³ = 8, 3³ = 27. Расстояния равны 27 − 12 = 15 и 12 − 8 = 4. Поэтому программа печатает 2.
Ищем все целые k с тем же результатом 2. Возможны только два случая: после цикла i = 2 и выбирается верхний куб, либо i = 3 и выбирается нижний.
1. При i = 2 значение k лежит между 1 и 8: 1 < k <= 8. Для вывода 2 требуется 8 − k <= k − 1, то есть 2k >= 9. Для целого k это означает k >= 5. Получаем 5 <= k <= 8.
2. При i = 3 имеем 8 < k <= 27. Чтобы напечатать нижний индекс 2, условие выбора верхнего должно быть ложным: 27 − k > k − 8. Отсюда 2k < 35, а для целого k — k <= 17. Получаем 9 <= k <= 17.
Два диапазона соседние; вместе это все целые k от 5 до 17 включительно. Их количество: 17 − 5 + 1 = 13. Исходное значение 12 входит в этот диапазон и учитывается.
Проверка границ. При k = 4 выбирается индекс 1, при k = 5 уже 2; при k = 17 ещё 2, при k = 18 уже 3.
Других значений нет: программа печатает только i или i − 1, значит для ответа 2 необходим один из двух разобранных индексов. При k <= 1 цикл оставляет i = 1 и результатом может быть только 0 или 1; они также не подходят.
Ответ: 13.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF1D2ADC.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.