ilnar-geekbrains / Test_11_18

2 stars 94 forks source link

Вводная информация.

Данное тестовое необходимо для базовой проверки уровня программиста. В приведенном файле example.cs приведен пример 2-х вариантов решения задачи. Вариант 1 - базовый уровень решения задачи. Вариант 2 - более предпочительный уровень решения.

Сдать решение можно двумя способами:

  1. pull request в этот репозиторий с уведомлением hr об этом.
  2. Отправить решение hr.

Оценка решения производится по следующим параметрам:

  1. Правильность решения поставленной задачи
  2. Стиллистика написания кода (именование переменных и функций/методов, оформление кода)
  3. Вариант решения задачи (с тестами или без). Если с тестами, то также обращаем внимание на подобранные тест кейсы.
  4. Способ сдачи решения. Если сдали через pr, то также смотрим и на стиллистику именования коммитов, оформление pr и работу с системой контроля версий.

ВАЖНО - делайте в удобном для вас уровне, не пытайтесь на этом задании прыгнуть выше головы. Если вы никогда не делали pr, то просто отправьте решение hr. Это нормально и сильно упростит наше дальнейшее взаимодействие.

Для решения предлагается 2 задачи. Выберите ту, которая вам больше нравится. Для решения можно выбрать любой C-подобный язык, желательно со статической типизацией (Java, C#, C++)

Задания

Задача №1. Написать программу для копирования массива.

Задача №2 с элементами математики. Написать программу для операции "произведение массивов". Сама операция определяется так, как будто элементы массива - это коэффициенты полинома. Соответственно, произведение массивов - должно дать новый массив, коэффициенты которого соответсвуют нужному полиному.

Например, возьмем полином (x - 1) и полином (x + 2). Их можно представить в виде массивов [-1, 1] и [2, 1] соответственно. Индекс элемента в массиве соответствует степени x при этом коээфициенте, т.е. полином (x - 1) можно переписать как (-1 x^0 + 1 x^1), таким образом соответсвующий этому полиному массив будет иметь вид [-1, 1].

По указанному правилу произведение массивов [-1, 1] и [2, 1] должно быть равно [-2, 1, 1], т.к. (x - 1) * (x + 2) = (x^2 + x^1 - 2).