Решение: Анализ функции в цикле
Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Для удобства алгоритм представлен на языке Python.
1def F(x): 2 return abs(abs(x - 5) + abs(x + 5) - 16) + 2 3 4a = -20 5b = 20 6M = a 7R = F(a) 8for t in range(a, b + 1): 9 if (F(t) <= R): 10 M = t 11 R = F(t) 12print(M + R)
Решение по шагам
3 шагаИсследуем функцию $F(x)=\left|\,|x-5|+|x+5|-16\,\right|+2$. В диапазоне от $-20$ до $20$ её минимальное значение достигается, когда внутреннее выражение под внешним модулем равно нулю.
$$|x-5|+|x+5|=16$$Для $x\geq 5$ имеем $|x-5|+|x+5|=2x$, поэтому $2x=16$ и $x=8$. Аналогично для отрицательной части получаем $x=-8$.
$$F(-8)=F(8)=2$$Цикл перебирает значения по возрастанию. При $t=-8$ записываются $M=-8$ и $R=2$. При $t=8$ выполняется условие $F(t)\leq R$, поэтому значения обновляются: $M=8$, $R=2$.
$$M+R=8+2=10$$Где здесь ошибаются
Остановиться на первом минимуме при $t=-8$ и не учесть условие $F(t)\leq R$.
Принять условие $F(t)<R$ вместо $F(t)\leq R$.
Забыть, что после последнего обновления $M=8$, а не $-8$.