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

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

Список тем

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

Задания

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

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

Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 5. То есть требуется определить, существует ли такое целое число К, что 5K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

 

 

БейсикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE N MOD 5 = 0

    K = K + (n \ 5)

    N = n div 5

WEND

IF N > 0 THEN

    PRINT K

ELSE

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

END IF

END

n = int(input())

k = 0

while n%5 == 0:

    k = k + (n // 5)

    n = n // 5

if n > 0:

    print(k)

else:

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

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while n mod 5 = 0 do begin

        k := k + n div 5;

        n := n div 5;

    end;

    if n > 0 then

        writeln(k)

    else

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

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(n, 5)=0

        k := k + div(n, 5)

        n := div(n,5)

    кц

    если n > 0

        то вывод k

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

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (n%5 == 0) {

        k = k + n / 5;

        n = n / 5;

    }

    if (n > 0)

        cout « k « endl;

    else

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

    return 0;

}

 

 

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

1. Напишите, что выведет эта программа при вводе числа 25.

2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

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

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

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись обеих чисел оканчивается на 6.

Под парами понимайте два смежных, соседних элемента массива.

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

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

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

1. При каких S: 1а) Петя выигрывает первым ходом; 1б) Валя выигрывает первым ходом?

2. Назовите два значения S, при которых Петя может выиграть своим вторым ходом.

3. Назовите одно значение S, при котором Валя выигрывает своим первым или вторым ходом.

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

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

Для заданной последовательности целых неотрицательных чисел необходимо найти минимальное произведение двух её элементов, различающихся порядковыми номерами не менее чем на 6. Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000 и не менее 7.

 

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

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

 

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

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

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

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

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

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

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

 

Первое число подаваемое на вход программы — количество элементов последовательности.