Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 10. Для Вашего удобства программа приведена на пяти языках программирования
| Бейсик | 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;
| |
Запишем уравнение его можно привести к виду:
Цикл должен выполнится при i равном 9, то есть должно быть выполнено условие:
что эквивалентно неравенству
откуда
Цикл должен прерваться при i = 10, то есть должно быть выполнено условие
что эквивалентно неравенству
откуда
Таким образом, получаем:
Наименьшее значение k равно 20.
Ответ: 20.

