В начало страницы

Вариант «ЕГЭ 16.06.2016 по информатике. Основная волна. Вариант 41 (Часть С)» (ОСН-2016)

Список тем

Д24 C1, Д25 C2, Д26 C3, Д27 C4

Задания

Задание Д24 C1 (тема Д24 C1, №11320)

Текст задания

Ученик написал программу, определяющую, какой степенью числа 4 является введенное. Например, для 16 это 2, так как 42 = 16. Если же такой степени нет, то необходимо вывести сообщение "Не существует". К сожалению, ученик написал программу неверно.

 

 

БейсикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 4 = 0

    N = N \ 4

    K = K + 1

WEND

IF N <= 4 THEN

    PRINT K

ELSE

    PRINT "Не существует"

END IF

END

n = int(input())

k = 0

while k%4 == 0:

    n = n // 4

    k = k + 1

if n <= 4:

    print(k)

else:

    print("Не существует")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 4 = 0 do begin

        n := n div 4;

        k := k + 1;

    end;

    if n <= 4 then

        writeln(k)

    else

        writeln('Не существует')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(k, 4)=0

        n := div(n,4)

        k := k + 1

    кц

    если n <= 4

        то вывод k

        иначе вывод "Не существует"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%4 == 0) {

        n = n / 4;

        k = k + 1;

    }

    if (n <= 4)

        cout « k « endl;

    else

        cout << "Не существует";

    return 0;

}

 

 

 

Последовательно выполните следующее.

 

1. Что выдаст программа при вводе числа 64?

2. При вводе какого числа программа выдаст верный ответ? Укажите этот ответ.

3. Исправьте программу. Запишите ошибочную строку, затем исправленный вариант. Помните, что нужно исправить имеющуюся программу, а не писать свою, хоть и с лучшим алгоритмом.

Задание Д25 C2 (тема Д25 C2, №11321)

Текст задания

Дан массив из 2000 элементов. Хорошей парой называется пара элементов, из которых оба оканчиваются на 9, при этом элементы являются соседями. Посчитайте количество хороших пар. Каждый элемент по модулю не превышает 30 000. В ответе укажите кусок программы на месте многоточия. Разрешено не использовать некоторые из инициализированных переменных, но запрещено пользоваться переменными, не указанными ниже.

 

 

БейсикPython

CONST N = 2000

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

// допускается также использовать

// две целочисленные переменные

// j и k

a = []

n = 2000

for i in range(0, n):

a.append(int(input()))

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

const

N = 2000;

var

a: array [1..N] of

integer;

i, j, k: integer;

begin

for i := 1 to N do

readln(a[i]);

end.

алг

нач

цел N = 2000

целтаб a[1:N]

цел i, j, k

нц для i от 1 до N

ввод a[i]

кц

кон

Си++

#include

#define N 2000

int main() {

int a[N];

int i, j, k;

for (i = 0; i < N; i++)

cin >> a[i];

return 0;

}

 

Задание Д26 C3 (тема Д26 C3, №11322)

Текст задания

Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра заканчивается, когда в куче не меньше 42 камней.

При этом, если число камней в куче не превышает 74, то побеждает игрок, сделавший последний ход, иначе выигрывает его оппонент. В начальный момент в куче было S камней; 1 ≤ S ≤ 41.

 

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

 

Задание 1

а) Укажите все такие значения числа S, при которых Паша может выиграть в один ход. Опишите его стратегию.

б) У кого есть выигрышная стратегия при S = 38, 39, 40?

 

Задание 2

Кто из игроков имеет выигрышную стратегию при S = 19, 20?

 

Задание 3

Кто из игроков имеет выигрышную стратегию при S = 18?

 

В каждом случае опишите выигрышную стратегию. В задании 3 постройте дерево игры или таблицу, где ребрами являются сделанные ходы, а узлами - позиции камней.

Задание Д27 C4 (тема Д27 C4, №11323)

Текст задания

На вход даны пары чисел. Нужно выбрать из каждой пары по одному числу так, чтобы сумма всех выбранных чисел не была кратна 6 и при этом была минимально возможной. Напишите программу, выводящую такую сумму на экран. Если же ее невозможно получить, выведите 0.

 

Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание — 0 баллов.

Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.

 

А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве. Перед программой укажите версию языка программирования.

Обязательно укажите, что программа является решением задания А. Максимальная оценка за выполнение задания А — 2 балла.

Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.

Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм.

Обязательно укажите, что программа является решением задания Б. Максимальная оценка за правильную программу, эффективную по времени и по памяти, — 4 балла.

Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.

Напоминаем! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.

 

Задача А. Количество пар известно заранее и равно 6. Числа не превышают 30 000.

Пример входных данных:

5 4

3 2

1 1

18 3

11 12

2 5

Пример выходных данных:

23

 

Задача Б. Количество пар N не известно заранее и может принимать значения 2 <= N <= 200 000. На вход подается сначала количество пар, затем сами пары. Числа по модулю не превышают 30 000.

Пример входных данных:

6

5 4

3 2

1 1

18 3

11 12

2 5

Пример выходных данных:

23