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

На­пи­ши­те в от­ве­те число раз­лич­ных зна­че­ний вход­ной пе­ре­мен­ной k, при ко­то­рых про­грам­ма выдаёт тот же ответ, что и при вход­ном зна­че­нии k = 64. Зна­че­ние k = 64 также вклю­ча­ет­ся в подсчёт раз­лич­ных зна­че­ний 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

END FUNCTION

def f(n):

    return 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

    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

кон

Си++

#include <iostream>

using namespace std;

 

int f(int n)

{

    return n * n;

}

 

int main(void)

{

    int k, i;

    cin >> k;

    i = 12;

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

        i––;

    cout « i « endl;

}

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

Ре­ше­ние.

При k = 64 = 82, про­грам­ма вы­ве­дет число 7. Пе­ре­мен­ная k от­ве­ча­ет за ко­ли­че­ство вы­пол­не­ний цикла

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

i := i-1;».

За­ме­тим, что при любом k боль­шем чем 64, про­грам­ма вы­ве­дет число боль­ше 7, а при k = 72  — мень­шее. Сле­до­ва­тель­но, нам под­хо­дят все целые числа, мень­шие или рав­ные 64, но боль­шие 49. Таких чисел 15.

 

Ответ: 15.


Аналоги к заданию № 7678: 7467 7705 7766 ... Все

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