Напишите в ответе количество различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 64. Значение k = 64 также включается в подсчёт различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | 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)
|
| Паскаль | Алгоритмический язык |
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.
| алг нач цел i, k ввод k i := 12 нц пока i > 0 и f(i) >= k i := i - 1 кц вывод i кон алг цел f(цел n) нач знач := n * n + 20 кон |
| Си++ | |
#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; }
| |
При k = 64 программа выведет число 6. Переменная k отвечает за количество выполнений цикла
«while (i>0) and (f(i)>=k) do
i := i-1;».
Запишем неравенство: Для того, чтобы результат вывода программы был равен 6 при
неравенство ещё должно выполняться, а при
уже нет. Получаем двойное неравенство:
То есть нам подходит 13 чисел.
Ответ: 13.

