Условие задачи
Определите наибольшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 27. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 2 * N + 2 END FUNCTION |
def F(n): return n*n*n def G(n): return 2 * n + 2 k = int(input()) i = 1 while F(i) < G(k): i+=1 print (i) |
Алгоритмический язык | Паскаль |
алг нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 2 * n + 2 кон |
var k, i : longint; function F(n: longint): longint; begin F := n * n * n; end; function G(n: longint): longint; begin G := 2 * n + 2; end; begin readln(k); i := 1; while F(i) < G(k) do i := i + 1; writeln(i) end. |
С++ | |
#include <iostream> using namespace std; long F(long n) { return n * n * n; } long G(long n) { return 2 * n + 2; } int main() { long k, i; cin >> k; i = 1; while(F(i) < G(k)) i++; cout << i; return 0; } |
Решение
При K=27 программа отработает следующим образом:
i F(i) 6(27) 1 1 < 56 2 8 < 56 3 27 < 56 4 64 \( \nless\); 56 |
, где \(F(n)=n^3\) \(G(n)=2n+2\) |
и выведет i=4
Значит и для всех других значений k должно выполняться условие:
\(\newline \left\{\begin{matrix}27 \textless 6(k)
\\ 64 \geq 6(k)
\end{matrix}\right.
\newline
\, \:
\newline
\left\{\begin{matrix}27 \textless 2k+2
\\ 64 \geq 2k+2
\end{matrix}\right.
\newline
\, \:
\newline \left\{\begin{matrix}25 \textless 2k
\\ 62 \geq 2k
\end{matrix}\right.\)
\(k\in [13;31]\) большее значение равно 31.
Ответ
31.