Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 21. Для Вашего удобства программа приведена на пяти языках программирования. var k, i : longint; function f(n: longint): longint; be...

Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 21. Для Вашего удобства программа приведена на пяти языках программирования. var k, i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := n*n; end; begin readln(k); i := 1; while f(i) <= k*g(i) do i := i+1; writeln(i) end.
Гость
Ответ(ы) на вопрос:
Гость
функция f преобразует число n в куб числа n функция g преобразует число n в квадрат числа n рассмотрим цикл: к переменной i будет прибавляться 1, только если i^3 <= k * i^2, то есть цикл действует только в случае, когда k >= i выйти из цикла мы должны со значением i = 21 это может быть в одном случае: k = 20, i = 20, тогда выполним цикл и снова в него не войдем, поскольку 21^3 > 20 * 21^2 Ответ: k = 20
Гость
Рассмотрим, что делают функции. f(n)=n³; g(n)=n² В основной программе имеется цикл с предусловием, который выполняется до тех пор, пока записанное после while логическое выражение (в данном случает отношение) истинно. Делаем подстановку. f(i) ≤ k × g(i); i³ ≤ k × i² ⇒i ≤ k Первоначально i=1, а в цикле i наращивается на 1. Поскольку цикл прекратит выполнение при i > k, то для i=21 получаем k=20.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы