Напишите в ответе число, которое выведет программа в качестве ответа.
| Бейсик | Python |
|---|---|
DIM I AS LONG I = 1 WHILE F(I) <= G(I) I = I*2 WEND PRINT I
FUNCTION F(N) F = N * N END FUNCTION
FUNCTION G(N) G = N*2000 + 3 END FUNCTION
| def f(n): return n*n
def g(n): return n*2000 + 3
i = 1 while f(i) <= g(i): i*=2 print(i)
|
| Паскаль | Алгоритмический язык |
var i : longint;
function f(n: longint): longint; begin f := n * n; end;
function g(n: longint): longint; begin g := n*2000 + 3; end;
begin i := 1; while f(i) <= g(i) do i := i*2; writeln(i) end.
| алг нач цел i i := 1 нц пока f(i) <= g(i) i := i*2 кц вывод i кон
алг цел f(цел n) нач знач := n * n кон
алг цел g(цел n) нач знач := n*2000 + 3 кон |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n; }
long g(long n) { return n*2000 + 3; }
int main() { long i; i = 1; while(f(i) <= g(i)) i = i*2; cout << i << endl; return 0; }
| |
Алгоритм ищет число i, удовлетворяющее следующим условиям:
1) i — степень двойки
2) i — наименьшее число при котором значение функции f(n) = n2 больше значения функции
Заметим, что при n > 2000 f(n) > g(n). Следовательно, искомое i равно 2048.
Ответ: 2048.


Не совсем понял смысл ответа.
Алгоритм ищет число при котором значение функции f(n)=n*n больше значения функции k*g(n), где g(n) = 2000n+3, а k задается с клавиатуры. При различных k ответы разные.