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

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

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 20

WHILE F(I) > K

    I = I - 1

WEND

PRINT I

FUNCTION F(N)

    F = N * N * N

END FUNCTION

def f(n):

    return n * n * n

k = int(input())

i = 20

while f(i) > k:

    i -= 1

print(i)

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

var

    k, i : longint;

function f(n: longint): longint;

begin

    f := n * n * n

end;

begin

    readln(k);

    i := 20;

    while f(i) > k do

        i := i-1;

    writeln(i)

end.

алг

нач

    цел k, i

    ввод k

    i := 20

    нц пока f(i) > k

        i := i - 1

    кц

    вывод i

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

return n * n * n;

}

int main()

{

    long k, i;

    cin >> k;

    i = 20;

    while (f(i) > k) --i;

    cout << i;

    return 0;

}

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

Ре­ше­ние.

На пе­чать вы­во­дит­ся зна­че­ние i, умень­ша­ю­ще­е­ся при каж­дом вы­пол­не­нии цикла на еди­ни­цу, про­хо­дя зна­че­ния от 20 до 9. Сле­до­ва­тель­но, ал­го­ритм вы­пол­нит­ся ровно 11 раз. По­это­му, усло­вие  x в кубе боль­ше k долж­но быть ис­тин­ным пер­вые 11 раз. Тогда  9 в кубе мень­ше или равно k мень­ше 10 в кубе . Тем самым, наи­боль­шее воз­мож­ное зна­че­ние равно 999.

 

Ответ: 999.