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

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

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(I)*K

    I = I + 1

WEND

  PRINT I

FUNCTION F(N)

  F = N * N * N

END FUNCTION

FUNCTION G(N)

    G = N * N

END FUNCTION

def f(n):

    return n * n * n

def g(n):

    return n*n

i = 1

k = int(input())

while f(i) < g(i) * 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:= n * n;

end;

begin

     readln(k);

     i := 1;

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

        i := i+1;

    writeln(i)

end.

алг

нач

     цел i, k

     ввод k

     i := 1

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

         i := i + 1

     кц

     вывод i

     все

кон

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

нач

    знач := n * n * n

кон

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

нач

    знач := n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

long g(long n) {

    return n * n ;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

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

        i++;

    }

        cout << i << endl;

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

Ре­ше­ние.

За­пи­шем урав­не­ние:

 23 в кубе боль­ше = 23 в квад­ра­те умно­жить на k и при этом  22 в кубе мень­ше 22 в квад­ра­те умно­жить на k.

Имеем:

 23 боль­ше =k и  22 мень­ше k . Ми­ни­маль­ное k  — 23.

 

Ответ: 23.

Источник: Тре­ни­ро­воч­ная ра­бо­та по ИН­ФОР­МА­ТИ­КЕ 11 класс 29 но­яб­ря 2016 года Ва­ри­ант ИН10204