Задача к ЕГЭ по информатике на тему «простейшие программы с функциями» №5

Определите количество различных значений k,  при которых программа, приведённая ниже, выводит тот же ответ, что и при входном значении k = 17.  Значение k = 17  также включается в подсчёт различных значений k.

|-------------------------|---------------------------| |P-ython------------------|C-+--+---------------------| |def f(n) :               |#include  < iostream  >    | |  returnn  ∗ n ∗ n       |usingnamespacestd;         | |i = 12                   |intf(intn){                | |k = int(input())         |  returnn  ∗ n ∗ n;        | |                         |                           | |whilei > 0andf (i) > k : |}                          | |     i−  = 1              |intmain (){{               | |print(i)                 |  intk,i = 12;             | |                         |  cin > > k;               | |                         |  while (i > 0 &&f (i) > k)| |                         |                           | |                         |     i−  = 1                | |                         |  cout < < i;              | |                         |  return0;                 | |                         |}                          | ------------------------------------------------------

Программа работает так: i  = 12, в цикле, если i >  » class=»math» width=»auto»> 0 и <img decoding= > k), мы уменьшаем значение i  на единицу.

При k = 17  получим i  = 2. Посмотрим, при каких еще значениях k получим i  = 2.

Чтобы получить i  = 2, при i  = 3 мы должны зайти в цикл, где уменьшим значение i  на единицу, а при i  = 2 условие захода в цикл уже не должно выполняться. Значит, f(3) > k,  » class=»math» width=»auto»> а <img decoding= Получаем k <  27,k ≤ 8.

Таким образом, нам подходят все целые значения k ∈ [8; 27) — их 27 — 8 = 19.

Ответ: 19
Оцените статью
Я решу все!