При каком наибольшем значении входной переменной k программа выдаёт тот же ответ, что и при входном значении k = 64? Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM K, I AS LONG INPUT K I = 12 WHILE I > 0 AND F(I) >= K I = I - 1 WEND PRINT I
FUNCTION F(N) F = N * N - 20 END FUNCTION
| def f(n): return n * n - 20
k = int(input()) i = 12 while i > 0 and f(i) >= k: i = i - 1 print(i)
|
| Алгоритмический язык | Паскаль |
алг нач цел i, k ввод k i := 12 нц пока i > 0 и f(i) >= k i := i - 1 кц вывод i кон
алг цел f(цел n) нач знач := n * n - 20 кон | var k, i : longint; function f(n: longint) : longint; begin f := n * n - 20 end; begin readln(k); i := 12; while (i>0) and (f(i) >= k) do i := i-1; writeln(i) end. |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n - 20; } int main() { long k, i; cin >> k; i = 12; while (i > 0 && f(i) >= k) i––; cout << i << endl; return 0; } | |
Программа выводит максимальное i не больше 12, которое удовлетворяет неравенству i2 - 20 < k.
Для k = 64 i = 9. i = 9 для Таким образом, максимальное k — 80.

