Условие задачи
Определите наибольшее значение входной переменной 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.


























