ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru

Уровень А

Постановка задания

Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами или ввести его элементы с клавиатуры и определить его характеристики с помощью рекурсивной функции в соответствии с вариантом задания. Проверку правильности результата провести с помощью сравнения результатов итеративной и рекурсивной функций.

Программа должна содержать следующие функции:

  • инициализация элементов массива случайными числами или вводимыми с клавиатуры;
  • вывод массива на экран;
  • итеративная функция, вычисляющая характеристики массива в соответствии с вариантом задания;
  • рекурсивная функция, вычисляющая характеристики массива в соответствии с вариантом задания.

Варианты заданий

Формулировка
А1В массиве целых чисел с помощью рекурсивной функции найти количество четных элементов.
А2В массиве целых чисел с помощью рекурсивной функции найти количество элементов массива, которые делятся на 5 и не делятся на 7.
А3В массиве целых чисел с помощью рекурсивной функции найти количество простых чисел.
А4В массиве целых чисел с помощью рекурсивной функции найти сумму нечетных элементов.
А5Найти максимальный элемент целочисленного массива с помощью рекурсии.
А6Вычислить сумму только симметричных элементов массива с помощью рекурсии.
А7В массиве целых чисел с помощью рекурсивной функции найти сумму таких элементов, которые состоят только из четных цифр.
А8В массиве целых чисел с помощью рекурсивной функции найти количество элементов, больших заданного числа А.
А9В массиве целых чисел с помощью рекурсии найти количество минимальных элементов.
А10
В массиве целых чисел с помощью рекурсии найти сумму элементов массива, расположенных в интервале (А, В).
А11
Найти количество двузначных элементов массива с помощью рекурсии.
А12
Найти минимальный элемент целочисленного массива с помощью рекурсии.
А13
В массиве целых чисел с помощью рекурсии найти количество максимальных элементов.
А14
Вычислить сумму только двузначных элементов массива с помощью рекурсии.
А15
В массиве целых чисел с помощью рекурсивной функции найти сумму элементов, заканчивающихся на 7.
А16
В массиве целых чисел с помощью рекурсивной функции найти сумму всех элементов массива, которые одновременно делятся на 3 и на 5.
А17
В массиве целых чисел с помощью рекурсивной функции найти количество элементов, начинающихся на 3.

Уровень В

Постановка задания

Метод «Разделяй и властвуй»

Требуется определить одномерный целочисленный массив а из n элементов (например, $n = 30$), заполнить его случайными числами (в диапазоне от А до В, где А и В задаются в директивах #define) или ввести его элементы с клавиатуры и определить следующие его характеристики с помощью метода «разделяй и властвуй»:

  • количество элементов массива, обладающих свойством Q;
  • сумму элементов массива, обладающих свойством Т;
  • обладает ли хотя бы один элемент массива свойством Q;
  • все ли элементы массива а обладают свойством Т.

Свойства Q и Т задаются в индивидуальных вариантах. Проверку правильности результата провести с помощью сравнения результатов итеративной и рекурсивной функций.

Программа должна содержать следующие функции:

  • инициализация элементов массива случайными числами или вводимыми с клавиатуры;
  • вывод массива на экран;
  • итеративная функция, вычисляющая количество элементов массива, обладающих свойством Q;
  • рекурсивная функция, вычисляющая количество элементов массива, обладающих свойством Q;
  • итеративная функция, вычисляющая сумму элементов массива, обладающих свойством Q;
  • рекурсивная функция, вычисляющая сумму элементов массива, обладающих свойством Т;
  • итеративная логическая функция, проверяющая, обладает ли хотя бы один элемент массива свойством Q;
  • рекурсивная логическая функция, проверяющая, обладает ли хотя бы один элемент массива свойством Q;
  • итеративная логическая функция, проверяющая, все ли элементы массива а обладают свойством Т;
  • рекурсивная логическая функция, проверяющая, все ли элементы массива а обладают свойством Т.

Варианты заданий

Свойство QСвойство Т
В1Число является четным.Число содержит в своем составе цифры 2 и 3.
В2Число является положительным.Число начинается с цифры 1.
В3Число содержит цифру 1.Число является простым.
В4Число не содержит цифру 0.Первая цифра числа совпадает с последней.
В5Число является нечетным.Число является составным.
В6Число является простым.Число содержит в своем составе цифру 5.
В7Число является двузначным.Число не содержит в своем составе цифру 7.
В8Число является симметричным.Число является трехзначным.
В9Сумма цифр числа равна 10.Число является четным.
В10
Число не содержит четных цифр.
Число является простым.
В11
Число является составным.
Число начинается с 2.
В12
Число начинается с 3.
Число является составным.
В13
Число является степенью двойки.
Первая цифра числа является нечетной.
В14
Число содержит хотя бы одну четную цифру.
Число содержит в младшем разряде цифру 3.
В15
Число содержит цифру 3.
Число является составным.
В16
Число является трехзначным.
Число содержит в своем составе цифру 2.
В17
Число является степенью тройки.
Число не содержит в своем составе цифру 5.

Уровень С

Постановка задания

Метод «Разделяй и властвуй»

Требуется определить одномерный целочисленный массив а из n элементов (например, $n = 30$), заполнить его случайными числами (в диапазоне от А до В, где А и В задаются в директивах #define) или ввести его элементы с клавиатуры и определить следующие его характеристики с помощью метода «разделяй и властвуй»:

  • количество элементов массива, обладающих свойством Q;
  • сумму элементов массива, обладающих свойством Т;
  • обладает ли хотя бы один элемент массива свойством Q;
  • все ли элементы массива а обладают свойством Т.

Свойства Q и Т задаются в индивидуальных вариантах. Проверку правильности результата провести с помощью сравнения результатов итеративной и рекурсивной функций. Также требуется упорядочить массив по возрастанию с помощью рекурсивной функции (алгоритм сортировки задается в варианте).

Программа должна содержать следующие функции:

  • инициализация элементов массива случайными числами или вводимыми с клавиатуры;
  • вывод массива на экран;
  • итеративная функция, вычисляющая количество элементов массива, обладающих свойством Q;
  • рекурсивная функция, вычисляющая количество элементов массива, обладающих свойством Q;
  • итеративная функция, вычисляющая сумму элементов массива, обладающих свойством Q;
  • рекурсивная функция, вычисляющая сумму элементов массива, обладающих свойством Т;
  • итеративная логическая функция, проверяющая, обладает ли хотя бы один элемент массива свойством Q;
  • рекурсивная логическая функция, проверяющая, обладает ли хотя бы один элемент массива свойством Q;
  • итеративная логическая функция, проверяющая, все ли элементы массива а обладают свойством Т;
  • рекурсивная логическая функция, проверяющая, все ли элементы массива а обладают свойством Т;
  • рекурсивная сортировка элементов массива.

Варианты заданий

Свойство QСвойство ТМетод сортировки
С1Число является четным.Число состоит из попарно различных цифр.Прямого выбора
С2Число является положительным.Только одна цифра в числе встречается ровно два раза, остальные — не более одного раза.Вставками
С3Число содержит цифру 1.Цифры в числе упорядочены по возрастанию.Пузырьковая
С4Число не содержит цифру 0.Число является симметричным в двоичном представлении.Прямого выбора
С5Число является нечетным.Число является простым и не содержит в своем составе цифру 5.Вставками
С6Число является простым.В числе хотя бы одна цифра встречается более одного раза.Пузырьковая
С7Число является двузначным.Число состоит только из простых цифр.Прямого выбора
С8Число начинается на 1.Каждая цифра, входящая в число, встречается ровно 2 раза.Вставками
С9Сумма цифр числа является четным числом.Число является произведением двух различных простых чисел.Пузырьковая
С10Число является квадратом некоторого натурального числа.Число является степенью некоторого простого числа.Вставками

Образец выполнения (вариант А12)

Условие задачи

Найти минимальный элемент целочисленного массива с помощью рекурсии.

Реализация задачи на языке Си

Результаты работы программырезультаты работы программы

ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru