Определите число, которое напечатает программа. Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM I AS LONG I = 1 WHILE F(I) < G(I) I = I * 2 WEND PRINT I
FUNCTION F(N) F = N * N * N END FUNCTION
FUNCTION G(N) G = 500*N*N + 3 END FUNCTION
| def f(n): return n*n*n
def g(n): return 500*n*n +3 i = 1 while f(i) < g(i): i*=2 print (i)
|
| Паскаль | Алгоритмический язык |
var i : longint;
function f(n: longint): longint; begin f := n * n * n; end;
function g(n: longint): longint; begin g := 500*n * n + 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 * n кон
алг цел g(цел n) нач знач :=500*n * n + 3 кон |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n * n; }
long g(long n) { return 500*n * n + 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) = n3 больше значения функции
Заметим, что при n > 501 f(n) > g(n). Следовательно, искомое i равно 512.
Ответ: 512.

