На рисунке на пяти языках записан алгоритм. Укажите наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 40.
Решение данной задачи предполагает три этапа:
- найти, какое значение примет переменная i перед выводом на экран при k = 40;
- поиск значений переменной k, при вводе которых будет выведено такое же значение переменной i;
- определение наименьшего значения 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