
Помогите с информатикой!!!!!!Решите пожалуйста на python. Дан массив, содержащий N целых
различных целых чисел. Необходимо найти номер числа, наименее отличающегося от среднего арифметического всех чисел. Будем считать, что числа нумеруются с 1. ВХОДНЫЕ ДАННЫЕ В первой строке находится одно натуральное число N ( ). В каждой из последующих N строк находятся сами числа (по одному числу в строке, каждое число по модулю не превосходит 100). ВЫХОДНЫЕ ДАННЫЕ Нужно вывести одно натуральное число — номер числа, наименее отличающегося от среднего арифметического всех чисел. Если подходящих чисел несколько, выведите меньший номер. ПРИМЕРЫ Входные данные 3 1 2 3 2 Выводится 2

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

Ответ:
n = int(input()) # присваиваем n - кол-во чисел
z = 0 # z - сумма всех чисел (изначально она = 0)
a = [] # a - массив состоящий из n чисел
for i in range(n): # делаем цикл для заполнения a
a.append(int(input())) # заполняем a
z = z+a[i] # так же считаем сумму всех чисел из a
x = z / len(a) # x - ср.ар. n чисел
l =abs(a[0]-x) # создаем n для того чтобы найти самое близкое к x число
m = 1 # создаем m для того чтобы найти номер самого близкого числа
for i in range(1,len(a)): # делаем цикл для нахождения m и n
if abs(a[i]-x)<l: # если число ближе к x чем число под номером n
l = abs(a[i]-x) # то присваиваем l - это число
m = i + 1 # а m - номер этого числа
print(m) # выводим номер числа
Объяснение:



Для решения этой задачи, мы должны выполнить следующие шаги:
- Считать входные данные: сначала прочитать число N, а затем считать N целых чисел в массив.
- Вычислить среднее арифметическое всех чисел в массиве.
- Найти номер числа, наименее отличающегося от среднего арифметического.
Давайте реализуем это на Python:
pythondef find_nearest_average_index(arr):
# Вычисляем среднее арифметическое всех чисел в массиве
average = sum(arr) / len(arr)
# Инициализируем переменные для минимальной разницы и номера числа
min_diff = abs(arr[0] - average)
min_diff_index = 0
# Проходим по всем числам в массиве
for i in range(1, len(arr)):
# Вычисляем разницу между текущим числом и средним арифметическим
diff = abs(arr[i] - average)
# Если текущая разница меньше минимальной, обновляем значения
if diff < min_diff:
min_diff = diff
min_diff_index = i
# Возвращаем номер числа, наименее отличающегося от среднего арифметического
return min_diff_index + 1 # Так как числа нумеруются с 1
# Считываем входные данные
N = int(input())
numbers = []
for _ in range(N):
numbers.append(int(input()))
# Вызываем функцию и выводим результат
result = find_nearest_average_index(numbers)
print(result)
Пример входных данных:
3 1 2 3
Пример вывода:
2
В этом примере входных данных, среднее арифметическое чисел 1, 2 и 3 равно 2. Наименее отличающееся число от среднего - это 2, и его номер равен 2.


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