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

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

 

Бей­сик 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 - 20

END FUNCTION

def f(n):

    return n * n - 20

 

k = int(input())

i = 12

while i > 0 and f(i) >= k:

    i = i - 1

print(i)

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

алг

нач

    цел i, k

    ввод k

    i := 12

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

        i := i - 1

    кц

    вывод i

кон

 

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

нач

    знач := n * n - 20

кон

var k, i : longint;

function f(n: longint) : longint;

begin

    f := n * n - 20

end;

begin

    readln(k);

    i := 12;

    while (i>0) and (f(i) >= k) do

        i := i-1;

    writeln(i)

end.

Си++

#include <iostream>

using namespace std;

long f(long n) { return n * n - 20; }

int main()

{

    long k, i;

    cin >> k;

    i = 12;

    while (i > 0 && f(i) >= k) i––;

    cout << i << endl;

    return 0;

}

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

Ре­ше­ние.

Про­грам­ма вы­во­дит мак­си­маль­ное i не боль­ше 12, ко­то­рое удо­вле­тво­ря­ет не­ра­вен­ству i2 - 20 < k.

Для k = 64 i = 9. i = 9 для k при­над­ле­жит левая квад­рат­ная скоб­ка 62; 80 пра­вая квад­рат­ная скоб­ка . Таким об­ра­зом, мак­си­маль­ное k  — 80.


Аналоги к заданию № 8669: 9173 9205 9313 Все