Перейти к содержанию

Укажите наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 40

На рисунке на пяти языках записан алгоритм. Укажите наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 40.


Решение данной задачи предполагает три этапа:

  1. найти, какое значение примет переменная i перед выводом на экран при k = 40;
  2. поиск значений переменной k, при вводе которых будет выведено такое же значение переменной i;
  3. определение наименьшего значения k.

1) Проанализируем работу алгоритма и найдём значение переменной i перед выводом на экран.

Фрагмент программы (Паскаль):

while (F(i)<=G(k)) do

i:=i+1;

представляет собой цикл, на каждой итерации которого значение переменной i увеличивается на 1. Цикл прекратит свою работу, когда будет ложным условие F(i)<=G(k).

Так как F(i)=i*i, а G(k)=3*k-2, то условием остановки цикла является выполнение неравенства i2 > 3k − 2. При заданном значении k = 40 получаем i2 > 118, i > 10. Отсюда получаем, что при i = 11 происходит выход из цикла.

2) Теперь найдём другие значения k, при которых будет выведено число 11.

При i = 11 значение функции F (11) = 121. Так как выход из цикла осуществляется при выполнении условия F (i) > G(k), то 121 > 3k − 2 ⇒ 3k < 123 ⇒ k < 41.

Теперь нужно отбросить те значения k, при которых будет выведено значение i ≤ 10. При i = 10 значение функции F (10) = 100. Выход из цикла осуществляется при выполнении условия F (10) > G(k), то есть 100 > 3k − 2 ⇒ 3k < 102 ⇒ k < 34.

Следовательно, при 34 ≤ k ≤ 40 на экран будет выведено число 11.

3) Наименьшим из найденных значений является k = 34.

Ответ: 34