Задания
Версия для печати и копирования в MS Word
Тип Д21 № 11317
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

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

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

 

Ответ: 2048.

Источник: ЕГЭ 16.06.2016 по ин­фор­ма­ти­ке. Ос­нов­ная волна.
Александр Кригер 15.11.2016 08:59

Не со­всем понял смысл от­ве­та.

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