Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 15. Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(I)+K I = I + 1 WEND PRINT I FUNCTION F(N) F = (N+1) * (N+1) END FUNCTION FUNCTION G(N) G = N * N END FUNCTION
| def f(n): return (n+1)*(n+1) def g(n): return n*n i = 1 k = int(input()) while f(i) < g(i) + k: i+=1 print (i)
|
| Паскаль | Алгоритмический язык |
var k, i : longint;
function f(n: longint) : longint; begin f := (n+1) * (n+1); end; function g(n: longint) : longint; begin g:= n * n; end; begin readln(k); i := 1; while f(i) < g(i) + k do i := i+1; writeln(i) end.
| алг нач цел i, k ввод k i := 1 нц пока f(i) < g(i) + k i := i + 1 кц вывод i все кон алг цел f(цел n) нач знач := (n+1) * (n+1) кон алг цел g(цел n) нач знач := n * n кон |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return (n+1) * (n+1); } long g(long n) { return n * n ; }
int main() { long k, i; cin >> k; i = 1; while (f(i) < g(i)+ k) { i++; } cout << i << endl;
| |
Запишем уравнение: Алгоритм должен выполниться ровно 14 раз, следовательно, нужное значение для x достигается при k − 1 > 2 · 14, но при этом k − 1 < 2 · 15, тогда получаем, что k > 29, однако, k < 31, значит, k = 30.
Ответ: 30.

