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

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

Бей­сикPython

    DIM K, I AS LONG

    INPUT K

    I = 12

    WHILE I > 0 AND 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 = 12

while (i > 0 and F(i) > k):

    i = i − 1

print (i)

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

var k, i :longint;

function F(n: longint) : longint;

begin

    F := n * n * n;

end;

 

begin

     readln(k);

     i := 12;

    while (i > 0) and (F(i) > k) do

         i := i − 1;

    writeln(i);

end.

алг

нач

    цел i, k

    ввод k

    i := 12

    нц пока i > 0 и 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()

{

    int k, i;

    cin >> k;

    i = 12;

    while (i > 0 && F(i) > k)

        i−−

    cout << i;

return 0;

}

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

Ре­ше­ние.

Для на­ча­ла под­ста­вим k = 8. Тогда i будет рав­нять­ся 2.

Зна­чит, нас ин­те­ре­су­ют такие зна­че­ния k, при ко­то­рых i = 2.

 

Вы­чис­лим зна­че­ния функ­ции F при i = 1, 2, 3...

i = 0; F(i) = 0.

i = 1; F(i) = 1.

i = 2; F(i) = 8.

i = 3; F(i) = 27.

 

За­дан­ное зна­че­ние k по­па­да­ет в от­ре­зок [8, 27). Сле­до­ва­тель­но, всего раз­лич­ных зна­че­ний, при ко­то­рых про­грам­ма выдаёт тот же ответ, что и при k = 8 рав­ня­ет­ся 26 минус 8 плюс 1 = 19.

 

Ответ: 19.

Источник: ЕГЭ — 2018. До­сроч­ная волна. Ва­ри­ант 1