Напишите в ответе наименьшее значение входной переменной 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.
Не нашли ответ?
Похожие вопросы