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

На­пи­ши­те в от­ве­те наи­мень­шее зна­че­ние вход­ной пе­ре­мен­ной k, при ко­то­ром про­грам­ма выдаёт тот же ответ, что и при вход­ном зна­че­нии k = 10. Для Ва­ше­го удоб­ства про­грам­ма при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(K)

    I = I + 1

WEND

PRINT I

 

FUNCTION F(N)

    F = N * N * N

END FUNCTION

 

FUNCTION G(N)

    G = 2*N + 3

END FUNCTION

def f(n):

    return n*n*n

 

def g(n):

    return 2*n+3

 

k = int(input())

i = 1

while f(i) < g(k):

    i+=1

print (i)

Пас­кальАл­го­рит­ми­че­ский язык

var

    k, i : longint;

 

function f(n: longint): longint;

begin

    f := n * n * n;

end;

 

function g(n: longint): longint;

begin

    g := 2*n + 3;

end;

 

begin

    readln(k);

    i := 1;

    while f(i) < g(k) do

        i := i+1;

    writeln(i)

end.

алг

нач

    цел i, k

    ввод k

    i := 1

    нц пока f(i) < g(k)

        i := i + 1

    кц

    вывод i

кон

 

алг цел f(цел n)

нач

    знач := n * n * n

кон

 

алг цел g(цел n)

нач

    знач := 2*n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

 

long g(long n) {

    return 2*n + 3;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

    while(f(i) < g(k))

        i++;

    cout << i << endl;

    return 0;

}

Спрятать решение

Ре­ше­ние.

Дан­ная про­грам­ма срав­ни­ва­ет i в кубе и 2 * k плюс 3 и при­бав­ля­ет к i еди­ни­цу до тех пор, пока i в кубе мень­ше 2*k плюс 3. И вы­во­дит пер­вое зна­че­ние пе­ре­мен­ной i при ко­то­ром i в кубе боль­ше или равно 2*k плюс 3.

При k = 10, про­грам­ма вы­ве­дет число 3.

За­пи­шем не­ра­вен­ство: 2 в кубе \leqslant2 * k плюс 3 мень­ше 3 в кубе от­сю­да по­лу­чим, что наи­мень­шее зна­че­ние k = 3.

 

Ответ: 3.


Аналоги к заданию № 7932: 9372 7997 9771 ... Все

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2016 по ин­фор­ма­ти­ке