ЕГЭ, вопрос 27: Умение создавать собственные программы

Проверяемые элементы содержания по спецификации (2019): Умение создавать собственные программы (30–50 строк) для решения задач средней сложности

Кодификатор 1.4.2/1.3. Уровень сложности В, 4 балла.

Время выполнения — 55 мин. (было 60).

Критерии оценивания — полная муть. 3 балла из 4 — отличный результат!
Весьма существенно оформление и комментарии (легче читать — меньше придирок).

Мы с вами обсуждаем исключительно один язык: Visual Basic. Все, кто берется писать решение на другом языке, делают это на свой страх и риск.

Задание обычно весьма объемное, так что в нем может таиться множество нестыковок. Его обязательно надо прочитывать несколько раз и строить в уме условный алгоритм. Большинство заданий основывается на математической логике с обязательным знанием способов ввода и вывода данных. При этом разработчики мыслят категориями 25–40-летней давности, чего ожидают и от вас.

Важный момент — объем задания, содержащий приблизительно 2000 знаков, то есть, требующий для внимательного прочтения около 4 минут. Рекомендованное мной же чтение несколько раз потребует не менее 10 минут из отводимых 55!

Для того, чтобы сократить эту работу и минимизировать вероятность ошибки, обязательно нужна разметка текста с выделением условий задания. (Большое спасибо разработчикам организационной стороны, не допускающих импользования на экзаменах маркеров и/или цветных ручек.)

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

Ниже будет предпринята попытка осуществления такой разметки.

...

В процессе подготовки следует тренироваться в этом, используя те средства, которые доступны на реальном экзамене.

Задания

  1. Демо 2020 (27). На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности ai и aj, такие что i < j и ai > aj (первый элемент пары больше второго; i и j — порядковые номера чисел в последовательности входных данных). Среди пар, удовлетворяющих этому условию, необходимо найти и напечатать пару с максимальной суммой элементов, которая делится на m = 120. Если среди найденных пар максимальную сумму имеют несколько, то можно напечатать любую из них.
    Описание входных и выходных данных
    В первой строке входных данных задается количество чисел N (2 ≤ N ≤ 12 000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000.
    В качестве результата программа должна напечатать элементы искомой пары. Если таких пар несколько, можно вывести любую из них. Гарантируется, что хотя бы одна такая пара в последовательности есть.
    Пример входных данных:
    6
    60
    140
    61
    100
    300
    59
    Пример выходных данных для приведенного выше примера входных данных:
    140 100
    Пояснение
    . Из шести заданных чисел можно составить три пары, сумма элементов которых делится на m=120: 60+300, 140+100 и 61+59. Во второй и третьей из этих пар первый элемент больше второго, но во второй паре сумма больше. Требуется написать эффективную по времени и памяти программу для решения описанной задачи.
    Программа считается эффективной по времени, если при одновременном увеличении количества элементов последовательности n и параметра m в k раз время работы программы увеличивается неболее чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 4 килобайта и не увеличивается с ростом n.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, — 4 балла.
    Максимальная оценка за правильную программу, возможно, неэффективную по памяти или время выполнения которой существенно зависит от величины m, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
  2. Демо 2019 (27). На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 4 (разница в индексах элементов пары должна быть 4 или более, порядок элементов в паре неважен). Необходимо определить количество таких пар, для которых произведение элементов делится на 29.
    Описание входных и выходных данных
    В первой строке входных данных задается количество чисел N (4 ≤ N ≤ 1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000.
    В качестве результата программа должна вывести одно число: количество пар элементов, находящихся в последовательности на расстоянии не меньше чем 4, в которых произведение элементов кратно 29.
    Пример входных данных:
    7
    58
    2
    3
    5
    4
    1
    29
    Пример выходных данных для приведенного выше примера входных данных:
    5
    Пояснение
    . Из 7 заданных элементов с учетом допустимых расстояний между ними можно составить 6 произведений: 58·4, 58·1, 58·29, 2·1, 2·29, 3·29. Из них на 29 делятся 5 произведений. Требуется написать эффективную по времени и памяти программу для решения описанной задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
  3. Демо 2018 (27). На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо определить количество пар, для которых произведение элементов делится на 26.
    Описание входных и выходных данных
    В первой строке входных данных задается количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000.
    В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов кратно 26.
    Пример входных данных:
    4
    2
    6
    13
    39
    Пример выходных данных для приведенного выше примера входных данных:
    4
    Пояснение. Из четырех заданных чисел можно составить 6 попарных произведений: 2·6, 2·13, 2·39, 6·13, 6·39, 13·39 (результаты: 12, 26, 78, 78, 234, 507). Из них на 26 делятся 4 произведения (2·13=26; 2·39=78; 6·13=78; 6·39=234).
    Требуется написать эффективную по времени и по памяти программу для решения описанной задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла. Максимальная оценка за правильную программу, эффективную только по времени — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
  4. D2018 (27). На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре неважен). Необходимо определить количество пар, для которых произведение элементов не кратно 14.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).
    В каждой из последующих N строк записано одно целое положительное число, не превышающее 1000.
    В качестве результата программа должна вывести одно число: количество пар, в которых произведение элементов не кратно 14.
    Пример входных данных:
    4
    2
    6
    5
    42
    Пример выходных данных для приведённого выше примера входных данных:
    3
    Пояснение. Из четырёх заданных чисел можно составить 6 попарных произведений: 2·6, 2·5, 2·42, 6·5, 6·42, 5·42. Из них на 14 не делятся 3 произведения (2·6, 2·5, 6·5).
    Требуется написать эффективную по времени и памяти программу для решения описанной задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
  5. R2018 (27). На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо определить количество пар, для которых произведение элементов не делится на 34.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1≤N≤1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000. В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов не кратно 34.
    Пример входных данных:
    5
    3
    4
    10
    11
    17
    Пример выходных данных для приведённого выше примера входных данных:
    8
    Пояснение. Из четырёх заданных чисел можно составить 10 попарных произведений: 3·4, 3·10, 3·11, 3·17, 4·10, 4·11, 4·17, 10·11, 10·17, 11·17 (результаты: 12, 30, 33, 51, 40, 44, 68, 110, 170, 187). Из них на 34 не делятся 8 произведения (3·4=12, 3·10=30, 3·11=33, 3·17=51, 4·10=40, 4·11=44, 10·11=110, 11·17=187).
    Требуется написать эффективную по времени и по памяти программу для решения описанной задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
  6. Демо 2017 (27). Вам предлагается два задания с похожими условиями: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Задание Б более сложное, его решение оценивается выше. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
    Напишите программу для решения этой задачи. В этом варианте задания оценивается только правильность программы, время работы и размер использованной памяти не имеют значения.
    Максимальная оценка за правильную программу — 2 балла.
    Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
    Напишите программу для решения этой задачи. Постарайтесь сделать программу эффективной по времени и используемой памяти (или хотя бы по одной из этих характеристик).
    Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.
    Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
    Максимальная оценка за правильную программу, эффективную по времени и памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.
    Как в варианте А, так и в варианте Б программа должна напечатать одно число — максимально возможную сумму, соответствующую условиям задачи (или 0, если такую сумму получить нельзя).
    НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
    Перед текстом программы кратко опишите Ваш алгоритм решения, укажите использованный язык программирования и его версию (например, Free Pascal 2.6.4).
    Входные данные. Для варианта А на вход программе подается шесть строк, каждая из которых содержит два натуральных числа, не превышающих 10 000.
    Пример входных данных для варианта А
    : 1 3
    5 12
    6 9
    5 4
    3 3
    1 1
    Для варианта Б на вход программе в первой строке подается количество пар N (1≤N≤100 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.
    Пример входных данных для варианта Б:
    6
    1 3
    5 12
    6 9
    5 4
    3 3
    1 1
  7. Демо 2016 (27). В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 10 000. Все числа не превышают 1000. Временем, в течение которого происходит передача, можно пренебречь.
    Необходимо вычислить «бета-значение» серии показаний прибора — минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным –1.
    Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору.
    Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание — 0 баллов.
    Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.
    А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Перед программой укажите версию языка программирования.
    ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ А. Максимальная оценка за выполнение задания А — 2 балла.
    Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).
    Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.
    Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
    Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм.
    ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ Б.
    Максимальная оценка за правильную программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.
    НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
    Входные данные представлены следующим образом. В первой строке задаётся число N — общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно положительное целое число — очередное показание прибора.
    Пример входных данных:
    11
    12
    45
    5
    3
    17
    23
    21
    20
    19
    18
    17
    Программа должна вывести одно число — описанное в условии произведение либо –1, если получить такое произведение не удаётся.
    Пример выходных данных для приведённого выше примера входных данных:
    54
  8. Демо 2015 (27). На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии космических лучей. Каждую минуту прибор передаёт по каналу связи неотрицательное вещественное число – количество энергии, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь.
    Необходимо найти в заданной серии показаний прибора минимальное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
    Вам предлагается два задания, связанные с этой задачей: задание А и задание Б. Вы можете решать оба задания А и Б или одно из них по своему выбору.
    Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание составляет 0 баллов.
    Задание Б является усложненным вариантом задания А, оно содержит дополнительные требования к программе.
    А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Перед программой укажите версию языка программирования.
    ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ А. Максимальная оценка за выполнение задания А равна 2 баллам.
    Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).
    Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.
    Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
    Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм.
    ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ Б.
    Максимальная оценка за правильную программу, эффективную по времени и по памяти, равна 4 баллам.
    Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, равна 3 баллам.
    НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
    Входные данные представлены следующим образом. В первой строке задаётся число N — общее количество показаний прибора. Гарантируется, что N > 6.
    В каждой из следующих N строк задаётся одно неотрицательное вещественное число — очередное показание прибора. Пример входных данных:
    11
    12
    45.3
    5.5
    4
    25
    23
    21
    20
    10
    12
    26
    Программа должна вывести одно число — описанное в условии произведение.
    Пример выходных данных для приведённого выше примера входных данных:
    48
  9. Демо 2014 (C4). По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000. Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение последовательности — наибольшее число R, удовлетворяющее следующим условиям:
    1) R — произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел; допускаются произведения различных элементов последовательности, равных по величине);
    2) R делится на 21.
    Если такого числа R нет, то контрольное значение полагается равным 0.
    В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
    Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:
    Вычисленное контрольное значение: …
    Контроль пройден (или — Контроль не пройден)
    Перед текстом программы кратко опишите используемый Вами алгоритм решения.
    На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
    Пример входных данных:
    6
    70
    21
    997
    7
    9
    300
    21000
    Пример выходных данных для приведённого выше примера входных данных:
    Вычисленное контрольное значение: 21000
    Контроль пройден
  10. Демо 2013 (C4). На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке — количество ячеек в камере хранения K, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:
    <Фамилия> <время сдачи багажа> <время освобождения ячейки>,
    где <Фамилия> — строка, состоящая не более чем из 20 непробельных символов; <время сдачи багажа> — через двоеточие два целых числа, соответствующие часам (от 00 до 23 — ровно 2 символа) и минутам (от 00 до 59 — ровно 2 символа); <время освобождения ячейки> имеет тот же формат.
    <Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.
    Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них.
    Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.
    Пример входных данных:
    3
    10
    Иванов 09:45 12:00
    Петров 10:00 11:00
    Сидоров 12:00 13:12
    Результат работы программы на этих входных данных:
    Иванов 1
    Петров 2
    Сидоров 1

  11. Демо 2012 (C4). В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команд посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы, чтобы определить наиболее популярные задачи. Следует учитывать, что количество запросов в списке может быть очень велико, так как многие соревнования проходят с использованием Интернет.
    Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
    На вход программе в первой строке подаётся количество пришедших запросов N. В каждой из последующих N строк записано название задачи в виде текстовой строки. Длина строки не превосходит 100 символов, название может содержать буквы, цифры, пробелы и знаки препинания.
    Пример входных данных:
    6
    А+B
    Крестики-Нолики
    Прямоугольник
    Простой делитель
    А+В
    Простой делитель
    Программа должна вывести список из трёх наиболее популярных задач с указанием количества запросов по ним. Если в запросах упоминаются менее трех задач, то выведите информацию об имеющихся задачах. Если несколько задач имеют ту же частоту встречаемости, что и третья по частоте встречаемости задача, их тоже нужно вывести.
    Пример выходных данных для приведённого выше примера входных данных:
    А+В 2
    Простой делитель 2
    Крестики-Нолики 1
    Прямоугольник 1

  12. Демо K-2012 (C3). Составьте программу, которая вводит с клавиатуры 4 вещественных числа: x1,y1, x2,y2 (каждое число — c новой строки отдельной командой «ввод»); рассматривает их как координаты двух точек на плоскости и выводит на экран целое число n, равное 0, 1 или 2 в зависимости от того, сколько из этих двух точек попало в закрашенную область на рисунке (включая границы). Программа не должна выводить ничего, кроме числа n. Например,
    для чисел 1.0, 4.5, 3.0, 0.0 программа должна выдать 0,
    для чисел 1.0, 1.0, -3.5, 0.5 программа должна выдать 1,
    для чисел -2.0, -0.1, 1.0, 3.3 программа должна выдать 2,
    для чисел 2.0, -2.0, -2.0, -2.0 программа должна выдать 0.

  13. Демо K-2012 (C4). Будем называть разделителем символ '.' (точка) или ' ' (пробел).
    Будем называть словом любую непустую последовательность идущих подряд букв и (или) цифр, не содержащую разделителей, и ограниченную слева началом строки или разделителем, а справа — разделителем.
    Например, строка
    AsdF 10 AS42 AS 77qqq.
    содержит 5 слов: AsdF, 10, AS42, AS, 77qqq
    Будем называть подходящим словом слово, являющееся записью целого числа в системе счисления с основанием 5.
    Например, слова
    10, 44444, 0013, 0 — подходящие, а слова
    46, two, один, 33а, 3z4z не являются подходящими.
    Составьте программу, которая вводит строку символов длиной не менее 2 и не более 32, заканчивающуюся символом '.' (точка), а затем выводит на экран для всех подходящих слов входной строки, сумму соответствующих чисел. Значение суммы должно выводиться в десятичной системе счисления.
    Например, для входной строки
    100 у3 AS42 AS 22 77w.
    программа должна вывести 37.
  14. Демо 2011 (C4). На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение — число 0, запись которого содержит ровно один ноль.
    Если требуемое число составить невозможно, то программа должна вывести на экран слово «NO». А если возможно, то в первой строке следует вывести слово «YES», а во второй — искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы:
    Do not 911 to 09 do.
    В данном случае программа должна вывести
    YES
    91019
  15. Демо 2010 (C4). На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.
    Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего. На вход программе в первой строке подается число данных о стоимости бензина. В каждой из последующих N строк находится информация в следующем формате:
    <Компания> <Улица> <Марка> <Цена>
    где <Компания> — строка, состоящая не более, чем из 20 символов без пробелов, <Улица> — строка, состоящая не более, чем из 20 символов без пробелов, <Марка> — одно из чисел — 92, 95 или 98, <Цена> — целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. <Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <цена> разделены ровно одним пробелом. Пример входной строки:
    Синойл Цветочная 95 2250
    Программа должна выводить через пробел 3 числа — количество АЗС, продающих дешевле всего 92-й, 95-й и 98-й бензин соответственно. Если бензин какой-то марки нигде не продавался, то следует вывести 0. Пример выходных данных:
    12 1 0
  16. Демо 2009 (C4). На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> — не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:
    Иванов П.С. 57
    Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника.
    Следует учитывать, что N>=1000.
  17. Демо 2008 (C4). На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:
    <Фамилия> <Имя> <оценки>,
    где <Фамилия> — строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <оценки> — через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:
    Иванов Петр 4 5 3
    Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.
  18. (т2-2012/1).
  19. (т2-2012/2).
  20. vk_380. Вдоль границы двух государств когда-то была построена новая стена. Она была собрана из одинаковых кубических блоков и ее высота по всей длине была одинаковой и равнялась 5 блокам. Много лет этого было достаточно, чтобы удержать соседние королевства от нападения друг на друга. Однако инспекция, посланная одним из королей к стене, обнаружила, что во многих вертикальных рядах один или несколько верхних блоков разрушились или упали.
    Инспекция составила отчет, в котором для каждого вертикального ряда блоков указана его нынешняя высота. Военное министерство сразу же заинтересовалось вопросом: где находится самый уязвимый участок стены? Участок стены является уязвимым, если он целиком состоит из подряд идущих рядов, высота которых меньше 5 и ограничен с обеих сторон либо границами стены, либо рядами блоков максимальной высоты.
    Например, у стены на рисунке два уязвимых участка (второй и третий ряд; пятый и шестой ряды, считая слева). Длина стены на рисунке равна 6.
    Один участок стены считается более уязвимым чем другой, если для его полного восстановления понадобится больше блоков.
    Для стены на рисунке второй участок более уязвимый чем первый.
    Определите номера рядов, с которого начинается и которым заканчивается самый уязвимый участок стены, а также количество блоков, которые необходимы для его полного восстановления. Если возможны несколько вариантов ответа, выведите их все, начиная с самого левого участка (такого, который начинается с блока с минимальным номером).
    Исходные данные: сначала вводится число N — длина стены (натуральное, не превышает 1000), затем следует N целых чисел в диапазоне от 0 до 5 — высота соответствующего вертикального ряда. Гарантируется, что на стене есть хотя бы один уязвимый участок.
    Результат: выведите через пробел номер блока, с которого начинается самый уязвимый участок, затем номер, которым он заканчивается, затем количество блоков, которые нужны для полного восстановления этого участка.
    Исходные данные
    6
    5 3 2 5 2 2
    Результат
    5 6 6
    Исходные данные
    10
    5 1 5 2 5 3 5 5 0 2
    Результат
    9 10 8
  21. vk_333. Автоморфным называется такое число, которое равно последним цифрам своего квадрата. Например: 5^2 = 25. Общий вид автоморфного чиcла n^2. Также будем называть автотриморфным и полиморфным числами, такие числа, показатель которых равен 3-м и 4-м соответственно. Общий вид автотриморфного и полиморфного чисел имеют вид: n^3 и n^4 соответственно. Напишите программу нахождения всех автоморфных, автотриморфных и полиморфных чисел в диапазоне [4..N].
    Формат входных данных. Дано целое число 4 <= N <= 20000.
    Формат выходных данных. Вывести все автоморфные числа от в диапазоне [4..N].
    Входные данные:
    50

    Выходные данные:
    n^2:
    5^2 — 25
    6^2 — 36
    n^3:
    4^3 — 64
    5^3 — 125
    6^3 — 216
    9^3 — 729
    n^4:
    5^4 — 625
    6^4 — 1296
    Примечания: Условно говоря будем считать, что числа могут быть бесконечно большими, т.е. писать кучу условий для 2-х, 3-х .. n-х чисел нельзя!
  22. vk_283. Пароль называется криптостойким, если он включает в себя и строчные латинские буквы, и заглавные латинские буквы, и цифры, при этом его длина должна быть не менее 8 символов.
    Требуется по данному паролю определить, является ли он криптостойким.
    Входные данные
    Вводится одна строка, состоящая только из латинских букв и цифр. Количество символов в строке не превышает 100.
    Выходные данные
    Выведите слово YES, если указанный пароль является криптостойким, и NO — в противном случае (заглавными латинскими буквами).

    Примеры
    Входные данные
    1aA
    Выходные данные
    NO

    Входные данные
    AaBbCc12
    Выходные данные
    YES
  23. vk_283a. Многие натуральные числа можно представить в виде N = 3A + 5B, где A и B - целые неотрицательные числа. Например, 11=3x2+5x1, 20=3x0+5x4.
    Вам требуется по заданному числу определить, можно ли его представить в таком виде, и если это возможно, найти подходящие A и B.
    Входные данные:
    Вводится одно число.
    Выходные данные:
    Программа должна вывести два целых неотрицательных числа A и B, разделенных пробелом, если такие числа существуют. В противном случае выведите слово IMPOSSIBLE. Если решений несколько, выведите любое из них.
    Входные данные
    14
    Выходные данные
    23
    Комментарий.
    23 = 3*1 + 5*4. Но есть и другое решение: 23 = 3*6 + 5*1, таким образом, возможен и другой ответ: "6 1".
    Входные данные
    4
    Выходные данные
    IMPOSSIBLE
    Комментарий.
    Число 4 невозможно представить в виде 3A+5B с неотрицательными целыми A и B.
    Ограничения. Программа должна верно работать для натуральных чисел, не превосходящих 10 000.
  24. vk_u1. Дана последовательность: 1, 3, 4, 7, 11... Найдите принцип, по которому она сформирована и напишите программу, вычисляющую N-й член этой последовательности.
    На вход программе даeтся натуральное число N (N<150).
  25. vk_u2. Дано число А и В. Вычислить А * В.
    Входные данные: в одной строке записаны целые числа |А|, |B| <= 10^4.
    Выходные данные: вывести без перевода строки ответ на задачу.
    Примечание. Из математических и логических операций можно использовать только: ":=, +, -, <>".
  26. vk_u3. Напишите программу, которая находит число нулей в конце N!
    На вход программе даeтся натуральное число N (N<60000).
  27. vk_603. Дана последовательность: 3, 5, 8, 11, 16, 19, 24, 27, 32... Найдите принцип, по которому она сформирована и напишите программу, вычисляющую N-й член этой последовательности.
    На вход программе даeтся натуральное число N (N<200).
  28. vk_575. Дана последовательность: 0, 7, 26, 63, 124... Найдите принцип, по которому она сформирована и напишите программу, вычисляющую N-й член этой последовательности.
    На вход программе даeтся натуральное число N (N<2001).
  29. vk_882. Требуется написать программу, которая заполняет массив десятью натуральными числами. При этом необходимо реализовать проверку входных данных. Числа должны быть трeхзначными и, обязательно, разными. После этого нужно посчитать среднее арифметическое всех элементов массива и узнать, сколько элементов массива больше, а сколько меньше его.
  30. По введeнной дате рождения и сегодняшнему числу определить возраст человека. Вывести его в двух форматах. Сначало только число прожитых дней, а потом в годах месяцах и днях. Входные данные имеют формат ДД.ММ.ГГГГ
  31. vk_931. 3, 4, 15, 12, 35, 24, 63, 40, 99, 60.
    Определите i-й член последовательности.
  32. vk_1103. Яша плавал в бассейне размером N x M метров и устал. В этот момент он обнаружил, что находится на расстоянии x метров от одного из длинных бортиков (не обязательно от ближайшего) и y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?
    Входные данные. Вводятся 4 натуральных числа: N, M, x, y (N # M), разделенные пробелами. Все числа не превосходят 100.
    Выходные данные. Требуется вывести одно число — минимальное расстояние, которое должен проплыть Яша, чтобы выбраться на бортик.
  33. с114 (27). Назовем длиной числа количество цифр в его десятичной записи. Например, длина числа 2017 равна 4, а длина числа 7 равна 1.
    Дан набор из N целых положительных чисел, каждое из которых меньше 108. Необходимо определить, числа какой длины чаще всего встречаются в данном наборе и сколько в нем чисел этой длины.
    Если числа разной длины встречаются одинаково часто (и чаще чем числа любой другой длины), нужно выбрать большую длину.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задается количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, меньшее, чем 108.
    Пример входных данных:
    5
    15
    417
    125
    32
    4801
    Пример выходных данных для приведенного выше примера входных данных:
    3 2
    В данном наборе чаще всего (по 2 раза) встречаются числа длины 2 и 3. Выбираем большую длину, выводим саму длину (3) и количество чисел этой длины (2)
  34. с124 (27). Назовем длиной числа количество цифр в его десятичной записи. Например, длина числа 2017 равна 4, а длина числа 7 равна 1.
    Дан набор из N целых положительных чисел, каждое из которых меньше 108. Необходимо определить, числа какой длины реже всего (но не менее одного раза) встречаются в данном наборе и сколько в нем чисел этой длины. Если числа разной длины встречаются одинаково часто (и реже, чем числа любой другой длины), нужно выбрать меньшую длину.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задается количество чисел N (1 ≤ N ≤ 1000).
    В каждой из последующих N строк записано одно натуральное число, меньшее, чем 108.
    Пример входных данных:
    5
    12
    417
    125
    327
    4801
    Пример выходных данных для приведенного выше примера входных данных:
    2 1
    В данном наборе реже всего (по 1 разу) встречаются числа длины 2 и 4. Выбираем меньшую длину, выводим саму длину (2) и количество чисел этой длины (1).
  35. с113 (27). Дан набор из N целых положительных чисел. Необходимо определить, с какой цифры чаще всего начинается десятичная запись чисел этого набора. Если таких цифр несколько, необходимо вывести наибольшую из них.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.
    Пример входных данных:
    5
    15
    417
    125
    32
    4801
    Пример выходных данных для приведённого выше примера входных данных:
    4
    Десятичная запись чисел заданного набора чаще всего — по 2 раза — начинается с цифр 1 и 4, в ответе выведена бóльшая из них.
  36. с123 (27). Дан набор из N целых положительных чисел. Необходимо определить, с какой цифры реже всего (но не менее одного раза) начинается десятичная запись чисел этого набора. Если таких цифр несколько, необходимо вывести наименьшую из них.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.
    Пример входных данных:
    4
    15
    417
    125
    32
    Пример выходных данных для приведённого выше примера входных данных:
    3
    Десятичная запись чисел заданного набора реже всего — по 1 разу — начинается с цифр 3 и 4, в ответе выведена меньшая из них.
  37. с112 (27). Дан набор из N неотрицательных целых чисел, меньших 1000. Для каждого числа вычисляется сумма цифр его десятичной записи. Необходимо определить, какая сумма цифр чаще всего встречается у чисел этого набора. Если таких сумм несколько, нужно вывести наименьшую из них.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно неотрицательное число, меньшее 1000.
    Пример входных данных:
    5
    4
    15
    24
    18
    31
    Пример выходных данных для приведённого примера входных данных:
    4
    У чисел заданного набора чаще всего — по 2 раза — встречаются суммы 4 и 6, в ответе выводится меньшая из них.
  38. с122 (27). Дан набор из N неотрицательных целых чисел, меньших 1000. Для каждого числа вычисляется сумма цифр его десятичной записи. Необходимо определить, какая сумма цифр реже всего встречается у чисел этого набора. Если таких сумм несколько, нужно вывести наибольшую из них.
    Напишите эффективную по времени и по памяти программу для решения этой задачи.
    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N.
    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла.
    Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла.
    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
    Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.
    Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
    Описание входных и выходных данных
    В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно неотрицательное число, меньшее 1000.
    Пример входных данных:
    5
    4
    15
    24
    18
    60
    Пример выходных данных для приведённого примера входных данных:
    9
    У чисел заданного набора реже всего — по одному разу — встречаются суммы 4 и 9, в ответе выводится бóльшая из них.
  39. к112 (27). По каналу связи передаются положительные целые числа, не превышающие 1000, — результаты измерений, полученных в ходе эксперимента (количество измерений известно заранее). После окончания эксперимента передаётся контрольное значение — наибольшее число R, удовлетворяющее следующим условиям:
    1) R — сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются);
    2) R — нечётное число.
    Если чисел, соответствующих приведённым условиям, нет, считается, что R = –1.
    В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
    Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Free Pascal 2.6.4), которая будет проверять правильность контрольного значения.
    Программа должна напечатать отчёт по следующей форме:
    Вычисленное контрольное значение: …
    Контроль пройден (или Контроль не пройден)
    Если удовлетворяющее условию контрольное значение определить невозможно (то есть при R = –1), то выводится только фраза «Контроль не пройден».
    Перед текстом программы кратко опишите используемый Вами алгоритм решения. На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
    Пример входных данных:
    6
    100
    8
    33
    45
    19
    90
    145
    Пример выходных данных для приведённого выше примера входных данных:
    Вычисленное контрольное значение: 145
    Контроль пройден
  40. к122 (27). По каналу связи передаются положительные целые числа, не превышающие 1000, — результаты измерений, полученных в ходе эксперимента (количество измерений известно заранее). После окончания эксперимента передаётся контрольное значение — наименьшее число R, удовлетворяющее следующим условиям:
    1) R — сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются);
    2) R — нечётное число.
    Если чисел, соответствующих приведённым условиям, нет, считается, что R = –1.
    В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
    Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Free Pascal 2.6.4), которая будет проверять правильность контрольного значения.
    Программа должна напечатать отчёт по следующей форме:
    Вычисленное контрольное значение: …
    Контроль пройден (или Контроль не пройден)
    Если удовлетворяющее условию контрольное значение определить невозможно (то есть R = –1), то выводится только фраза «Контроль не пройден».
    Перед текстом программы кратко опишите используемый Вами алгоритм решения.
    На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
    Пример входных данных:
    6
    10
    8
    33
    45
    19
    200
    27
    Пример выходных данных для приведённого выше примера входных данных:
    Вычисленное контрольное значение: 27
    Контроль пройден



Copyright © 1993–2024 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.