Задания
Версия для печати и копирования в MS Word
Тип Д21 № 13578
i

Опре­де­ли­те число, ко­то­рое на­пе­ча­та­ет про­грам­ма. Для Ва­ше­го удоб­ства про­грам­ма при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сик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 боль­ше зна­че­ния функ­ции g(n) = 500n2 + 3.

За­ме­тим, что при n > 501 f(n) > g(n). Сле­до­ва­тель­но, ис­ко­мое i равно 512.

 

Ответ: 512.