
Найдите количество элементов массива, которые отличны от наибольшего элемента не более чем на 10%.


Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var max:=a.Max;
Writeln('k=',a.Where(x->x>=0.9*max).Count)
end.
Пример
n= 20
9 1 -9 -8 -4 3 -5 -8 10 7 -9 1 -5 -4 0 -4 9 6 9 -8
k=4



Для решения этой задачи нам необходимо найти наибольший элемент в массиве и затем подсчитать количество элементов, которые отличаются от него не более чем на 10%. Давайте разберемся, как это сделать.
Нахождение наибольшего элемента в массиве
Первым шагом нам нужно найти наибольший элемент в массиве. Для этого мы можем пройтись по всем элементам массива и сравнить их со значением текущего максимального элемента. Если мы найдем элемент, который больше текущего максимального, мы обновим значение максимального элемента.Вот пример кода на Python, который находит наибольший элемент в массиве:
```python def find_max_element(arr): max_element = arr[0] # Предполагаем, что первый элемент массива - наибольший for element in arr: if element > max_element: max_element = element return max_element
# Пример использования функции arr = [3, 8, 2, 5, 10] max_element = find_max_element(arr) print(max_element) # Выводит 10 ```
Подсчет количества элементов, отличающихся не более чем на 10%
После того, как мы найдем наибольший элемент в массиве, нам нужно пройтись по всем элементам массива снова и подсчитать количество элементов, которые отличаются от него не более чем на 10%.Вот пример кода на Python, который решает эту задачу:
```python def count_elements_within_range(arr, target, percentage): count = 0 for element in arr: difference = abs(element - target) if difference / target <= percentage / 100: count += 1 return count
# Пример использования функции arr = [3, 8, 2, 5, 10] max_element = find_max_element(arr) percentage = 10 count = count_elements_within_range(arr, max_element, percentage) print(count) # Выводит 3 ```
В данном примере, мы пройдемся по всем элементам массива и сравним их с наибольшим элементом. Если разница между текущим элементом и наибольшим элементом не превышает 10% от значения наибольшего элемента, мы увеличим счетчик. В конце, мы вернем значение этого счетчика, которое и будет являться количеством элементов, отличающихся не более чем на 10% от наибольшего элемента.
Надеюсь, это помогло! Если у вас есть еще вопросы, пожалуйста, дайте знать.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili