Skip to content

Repository files navigation

Задание НТ Performance Lab


Задание 1

Круговой массив - массив из элементов, в котором по достижению конца массива следующим элементом будет снова первый. Массив задается числом n, то есть представляет собой числа от 1 до n.

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

Началом одного интервала является конец предыдущего.

Путь - массив из начальных элементов полученных интервалов.

Пример 1

n = 4, m = 3

Решение:
Круговой массив: 1234.
При длине обхода 3 получаем интервалы: 123, 341. Полученный путь: 13.

Пример 2

n = 5, m = 4

Решение:
Круговой массив: 12345.
При длине обхода 4 получаем интервалы: 1234, 4512, 2345, 5123, 3451.
Полученный путь: 14253.

Параметры передаются в качестве аргументов командной строки!

Например, для последнего примера на вход подаются аргументы: 5 4, ожидаемый вывод в консоль: 14253.

Задание 2

Напишите программу, которая рассчитывает положение точки относительно окружности.

  • Координаты центра окружности и его радиус считываются из файла 1
  • Координаты точек считываются из файла 2

Пример:

Файл 1:
1 1
5

Файл 2:
0 0
1 6
6 6

Вывод для данных примеров файлов:
1
0
2

Пути к файлам передаются программе в качестве аргументов

  • Файл с координатами и радиусом окружности - 1 аргумент;
  • Файл с координатами точек - 2 аргумент;
  • Координаты - рациональные числа в диапазоне от 10^-38 до 10^38;
  • Количество точек от 1 до 100;
  • Вывод каждого положения точки заканчивается символом новой строки;
  • Соответствия ответов:
    • 0 - точка лежит на окружности;
    • 1 - точка внутри;
    • 2 - точка снаружи.

Вывод программы в консоль.

Задание 3

На вход в качестве аргументов программы поступают три пути к файлу (в приложении к заданию находятся примеры этих файлов):

● values.json содержит результаты прохождения тестов с уникальными id ● tests.json содержит структуру для построения отчета на основе прошедших тестов (вложенность может быть большей, чем в примере) ● report.json - сюда записывается результат

Напишите программу, которая формирует файл report.json с заполненными полями value для структуры tests.json на основании values.json. Структура report.json такая же, как у tests.json, только заполнены поля “value”.

Задание 4

Дан массив целых чисел nums. Напишите программу, выводящую минимальное количество ходов, требуемых для приведения всех элементов к одному числу.

Условие:
За один ход можно уменьшить или увеличить число массива на 1.

Пример:

Входные данные:

nums = [1, 2, 3]

Решение:

[1, 2, 3] => [2, 2, 3] => [2, 2, 2]
Минимальное количество ходов: 2.

Элементы массива читаются из файла, переданного в качестве аргумента командной строки!

Пример:

На вход подаётся файл с содержимым:

1
10
2
9
Вывод в консоль: 16

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages