Йо, меня зовут Наби. Заранее благодарю за чтение и желаю продуктивно провести время! Если после прочтения возникнут вопросы, пожелания или предложения, то буду рад ознакомиться со всем в комментариях!
Предисловие:
В предыдущей части мы решили задачу про расширенную версию игру "Камень - Ножницы - Бумага", научились создавать Vaporwave строки, написали код по поиску годов с уникальными цифрами, определяли самую длинную подстроку из элементов массива с заданной длиной а также столкнулись с задачей по определению уже проведенной математической операции. В этой части вас ждут еще более интересные алгоритмические задачи!
Перед началом чтения решения задачи, хочу призвать каждого к самостоятельному решению задачи, чтобы после вы могли сравнить своё решение с моим и обсудить это в комментариях. Буду рад послушать ваше мнение! Давайте, приступим!
Новое в конфигурации Algo1C (Последние 5 версий):
Актуальную версию конфигурации вы можете загрузить здесь (Нажмите на строку)
- 0.5 : Добавлена возможность выбирать контекст исполнения кода, например: НаСервере или НаКлиенте
- 0.4 : Исправлена ошибка при выводе содержимого исключения
- 0.3 : Добавлена возможность сохранять и загружать задачи; Внесены небольшие изменения в интерфейс
- 0.2 : Исправлена ошибка при выводе результата (Отдельная благодарность SAShikutkin)
Решение задач:
Задача 1
Платформа: CodeWars
Название задачи: Sum of Array Averages
Ссылка на задачу: https://www.codewars.com/kata/56d5166ec87df55dbe000063 (Нажмите на строку)
Сложность: 7 kyu
Тэги: Массивы, Математика, Алгоритмы
Оригинальное описание задачи:
Program a function sumAverage(arr)
where arr
is an array containing arrays full of numbers.
First, determine the average of each array. Then, return the sum of all the averages.
- All numbers will be less than 100 and greater than -100.
arr
will contain a maximum of 50 arrays.
- After calculating all the averages, add them all together, then round down, as shown in the example below:
The example given: sumAverage([[3, 4, 1, 3, 5, 1, 4], [21, 54, 33, 21, 77]])
, the answer being 44.
- Calculate the average of each individual array:
[3, 4, 1, 3, 5, 1, 4] = (3 + 4 + 1 + 3 + 5 + 1 + 4) / 7 = 3
[21, 54, 33, 21, 77] = (21 + 54 + 33 + 21 + 77) / 5 = 41.2
- Add the average of each array together:
3 + 41.2 = 44.2
- Round the final average down:
floor(44.2) = 44
Пояснение:
Суть задачи заключается в том чтобы найти среднее значение с использованием элементов исходного массива. Также по условию задачи результат обязательно должен быть целым. Давайте попробуем решить:
Решение:
Всё что от нас требуется так это перебрать все элементы массива и сложить их. Затем всё что остаётся так это разделить полученное число на количество элементов массива и округлить. Вот как это будет выглядеть в коде:
ИсходныйМассив = Новый Массив;
ИсходныйМассив.Добавить(3);
ИсходныйМассив.Добавить(4);
ИсходныйМассив.Добавить(1);
ИсходныйМассив.Добавить(3);
ИсходныйМассив.Добавить(5);
ИсходныйМассив.Добавить(1);
ИсходныйМассив.Добавить(4);
//
Вывод = 0;
Для Каждого Стр Из ИсходныйМассив Цикл
Вывод = Вывод + Стр;
КонецЦикла;
Вывод = Цел(Вывод/ИсходныйМассив.Количество());
Заключение:
Весьма простая задача с простым решением. Подойдет в качестве разминки!
Задача 2
Задача 3
Задача 4
Задача 5
Заключение:
Платформа: CodeWars
Название задачи: Sum of Array Averages
Ссылка на задачу: https://www.codewars.com/kata/56d5166ec87df55dbe000063 (Нажмите на строку)
Сложность: 7 kyu
Тэги: Массивы, Математика, Алгоритмы
Оригинальное описание задачи:
Program a function
sumAverage(arr)
wherearr
is an array containing arrays full of numbers.First, determine the average of each array. Then, return the sum of all the averages.
- All numbers will be less than 100 and greater than -100.
arr
will contain a maximum of 50 arrays.- After calculating all the averages, add them all together, then round down, as shown in the example below:
The example given:
sumAverage([[3, 4, 1, 3, 5, 1, 4], [21, 54, 33, 21, 77]])
, the answer being 44.
- Calculate the average of each individual array:
[3, 4, 1, 3, 5, 1, 4] = (3 + 4 + 1 + 3 + 5 + 1 + 4) / 7 = 3 [21, 54, 33, 21, 77] = (21 + 54 + 33 + 21 + 77) / 5 = 41.2
- Add the average of each array together:
3 + 41.2 = 44.2
- Round the final average down:
floor(44.2) = 44
Пояснение:
Суть задачи заключается в том чтобы найти среднее значение с использованием элементов исходного массива. Также по условию задачи результат обязательно должен быть целым. Давайте попробуем решить:
Решение:
Всё что от нас требуется так это перебрать все элементы массива и сложить их. Затем всё что остаётся так это разделить полученное число на количество элементов массива и округлить. Вот как это будет выглядеть в коде:
ИсходныйМассив = Новый Массив;
ИсходныйМассив.Добавить(3);
ИсходныйМассив.Добавить(4);
ИсходныйМассив.Добавить(1);
ИсходныйМассив.Добавить(3);
ИсходныйМассив.Добавить(5);
ИсходныйМассив.Добавить(1);
ИсходныйМассив.Добавить(4);
//
Вывод = 0;
Для Каждого Стр Из ИсходныйМассив Цикл
Вывод = Вывод + Стр;
КонецЦикла;
Вывод = Цел(Вывод/ИсходныйМассив.Количество());
Заключение:
Весьма простая задача с простым решением. Подойдет в качестве разминки!
Ну что ж, пока на этом всё, надеюсь статья была увлекательной для вас, благодарю за внимание. Подключайтесь к решению алгоритмических задач вместе со мной, делитесь вашим мнением и решениями в комментариях! Увидимся в новой статье!