Задание EGEINF16F2BB: Выполнение и анализ программы

ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий

Открыть решение ↓ Ошибка или пожелание

Тип задачи: Выполнение и анализ программы.

Учебные темы: Определение возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов. Определение исходных данных, при которых алгоритм может дать требуемый результат.

Впишите правильный ответ.

При каком наименьшем значении входной переменной k программа выдаёт тот же ответ, что и при входном значении k = 10? Для Вашего удобства программа приведена на пяти языках программирования.

Бейсик

DIM K, I AS LONG

INPUT K

I = 32

WHILE I > 0 AND F(I) > K

  I = I - 1

WEND

PRINT I

 

FUNCTION F(N)

  F = N * N - 45

END FUNCTION

Python

def F(n):

  return n * n - 45

 

k = int(input())

i = 32

while i > 0 and F(i) > k:

  i = i - 1

print(i)

Алгоритмический язык

алг

нач

  цел i, k

  ввод k

  i := 32

  нц пока i > 0 и f(i) > k

    i := i - 1

  кц

  вывод i

кон

алг цел f(цел n)

нач

  знач := n * n - 45

кон

Паскаль

var k, i : longint;

function F(n: longint) : longint;

begin

  F := n * n - 45

end;

 

begin

  readln(k);

  i := 32;

  while (i > 0) and (F(i) > k) do

    i := i - 1;

  writeln(i)

end.

C++

#include <iostream>

using namespace std;

 

long F(long n) {

  return n * n - 45;

}

 

int main() {

  long k, i;

  cin >> k;

  i = 32;

  while (i > 0 && F(i) > k) {

    i – – ;

  }

  cout << i;

  return 0;

}

 



i
СВОЙСТВА ЗАДАНИЯ
КЭС:
3.2 Оценка сложности вычислений. Время работы и объём используемой памяти, их зависимость от размера исходных данных. Оценка асимптотической сложности алгоритмов. Алгоритмы полиномиальной сложности. Переборные алгоритмы. Примеры различных алгоритмов решения одной задачи, которые имеют различную сложность
3.6 Язык программирования (Паскаль, Python, Java, C++, C#). Типы данных: целочисленные, вещественные, символьные, логические. Ветвления. Сложные условия. Циклы с условием. Циклы по переменной. Обработка данных, хранящихся в файлах. Текстовые и двоичные файлы. Файловые переменные (файловые указатели). Чтение из файла. Запись в файл. Разбиение задачи на подзадачи. Подпрограммы (процедуры и функции). Использование стандартной библиотеки языка программирования
Тип ответа:Краткий ответ
Номер: 16F2BB
НЕ РЕШЕНО Ответить

Решение задания EGEINF16F2BB

Ответ: 4

Сначала найдём результат для указанного k = 10. Затем определим все целые k, при которых цикл останавливается на том же i.
Здесь F(i) = i² − 45. При уменьшении положительного i значение F также уменьшается. Условие цикла требует F(i) > k, а остановка происходит при F(i) ≤ k.
При заданном k: F(7) = 4 ≤ 10, но F(8) = 19 > 10. Значит, выводится 7.
Чтобы сохранить этот результат, необходимо и достаточно 4 ≤ k < 19. Для целых k: 4 ≤ k ≤ 18.
Требуется наименьшее значение из найденного промежутка. Оно равно 4.
Проверка: на выбранной границе последняя истинная проверка и первое ложное условие сохраняются; соседнее внешнее k нарушает одно из этих неравенств.
Дополнительно выполним программу на обеих включённых границах и на соседних внешних целых значениях:
Ввод 3 → вывод 6.
Ввод 4 → вывод 7.
Ввод 18 → вывод 7.
Ввод 19 → вывод 8.
Ответ: 4.

Помочь улучшить сайт

Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF16F2BB.

Сообщение увидит только команда сайта: на странице оно не публикуется.

Комментарии к решению

Комментарии видны всем посетителям сайта.

Комментариев пока нет. Будьте первым.

Чтобы оставить комментарий, войдите или зарегистрируйтесь.