ЕГЭ 16.06.2016 по информатике. Основная волна. Вариант 77 (Часть 2)
При выполнении заданий с кратким ответом впишите в поле для ответа цифру, которая соответствует номеру правильного ответа, или число, слово, последовательность букв (слов) или цифр. Ответ следует записывать без пробелов и каких-либо дополнительных символов. Дробную часть отделяйте от целой десятичной запятой. Единицы измерений писать не нужно.
Если вариант задан учителем, вы можете вписать или загрузить в систему ответы к заданиям с развернутым ответом. Учитель увидит результаты выполнения заданий с кратким ответом и сможет оценить загруженные ответы к заданиям с развернутым ответом. Выставленные учителем баллы отобразятся в вашей статистике.
Версия для печати и копирования в MS Word
Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 4. То есть требуется определить, существует ли такое целое число К, что 4K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.
| Бейсик | Python |
|---|---|
DIM N, K AS INTEGER INPUT N K = 0 WHILE N MOD 4 = 0 K = K + (n \ 4) N = n div 4 WEND IF N <= 4 THEN PRINT K ELSE PRINT "Не существует" END IF END
| n = int(input()) k = 0 while n%4 == 0: k = k + (n // 4) n = n // 4 if n <= 4: print(k) else: print("Не существует")
|
| Паскаль | Алгоритмический язык |
var n, k: integer; begin read(n); k := 0; while n mod 4 = 0 do begin k := k + n div 4; n := n div 4; end; if n <= 4 then writeln(k) else writeln('Не существует') end.
| алг нач цел n, k ввод n k := 0 нц пока mod(n, 4)=0 k := k + div(n, 4) n := div(n,4) кц если n <= 4 то вывод k иначе вывод "Не существует" все кон |
| Си++ | |
#include <iostream> using namespace std; int main(){ int n, k; cin >> n; k = 0; while (n%4 == 0) { k = k + n / 4; n = n / 4; } if (n <= 4) cout « k « endl; else cout << "Не существует"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 16.
2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
На следующей странице вам будет предложено проверить их самостоятельно.
Дается последовательность чисел. Нужно определить, сколько есть пар чисел, в которых есть хотя бы одно число, оканчивающееся на "3".
В данной задаче под парой подразумевается два подряд идущих элемента массива.
На следующей странице вам будет предложено проверить их самостоятельно.
Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу 1 камень или удвоить количество камней в куче. Например, имея кучу из 7 камней, за один ход можно получить кучу из 8 или 14 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче S становится не менее 22. Победителем считается игрок, сделавший последний ход, если в куче осталось не менее 22 камней, но не больше 34 камней. Если же после завершающего хода игрока в куче оказывается больше 34 камней, то игрок, сделавший последний ход — проигрывает.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
1) а) При каких значениях Паша выиграет 1 ходом. б) Кто выиграет при S=20, 19, 18.
2) Кто выиграет при S=10, 9.
3) Кто выиграет при S=8. Нарисуйте дерево партий.
На следующей странице вам будет предложено проверить их самостоятельно.
На вход даны пары чисел. Нужно выбрать из каждой пары по одному числу так, чтобы сумма всех выбранных чисел была нечётна и при этом была максимально возможной. Напишите программу, выводящую такую сумму на экран. Если же ее невозможно получить, выведите 0. Каждый элемент в паре целый, неотрицательный.
Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание — 0 баллов.
Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.
А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве. Перед программой укажите версию языка программирования.
Обязательно укажите, что программа является решением задания А. Максимальная оценка за выполнение задания А — 2 балла.
Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм.
Обязательно укажите, что программа является решением задания Б. Максимальная оценка за правильную программу, эффективную по времени и по памяти, — 4 балла.
Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.
Напоминаем! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
Задача А. Количество пар известно заранее и равно 6. Числа не превышают 100 000.
Задача Б. Количество пар N не известно заранее и может принимать значения 2 <= N <= 100 000. На вход подается сначала количество пар, затем сами пары. Числа не превышают 10 000.
Пример входных данных:
6
5 4
3 2
1 1
18 3
11 12
2 5
Пример выходных данных:
43
На следующей странице вам будет предложено проверить их самостоятельно.