Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Tipsy_guy
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 15

Определить, сколько в наборе таких пар чётных чисел, что их среднее арифметическое тоже присутствует в файле

02.07.2022, 14:44. Показов 2225. Ответов 5

Студворк — интернет-сервис помощи студентам
Задачка с сайта егэ:
В текстовом файле записан набор натуральных чисел, не превышающих 10^9. Гарантируется, что все числа различны. Необходимо определить, сколько в наборе таких пар чётных чисел, что их среднее арифметическое тоже присутствует в файле, и чему равно наибольшее из средних арифметических таких пар.

Первая строка входного файла содержит целое число N — общее количество чисел в наборе. Каждая из следующих N строк содержит одно число.

В ответе запишите два целых числа: сначала количество пар, затем наибольшее среднее арифметическое.

Пример входного файла:

6

3

8

14

11

2

17

В данном случае есть две подходящие пары: 8 и 14 (среднее арифметическое 11), 14 и 2 (среднее арифметическое 8). В ответе надо записать числа 2 и 11.

Так вот в чём вопрос, пытался решить на питоне, программа выдаёт пустой список. Почему? Хороший вопрос, на который надеюсь вы ответите.

Python
1
2
3
4
5
6
7
8
9
10
11
12
with open('26.txt') as f:
    s = [int(x) for x in f]
    res = []
    u=[]
    for i in range(2,len(s)):
        if  s[i]%2==0 and s[i-1]%2==0:
            u.append((s[i]+s[i-1])/2)
    for k in range(1,len(s)):
        if k in u:
            res.append(k)
 
print(len(res),max(res))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2022, 14:44
Ответы с готовыми решениями:

Определить, сколько в текстовом файле пар чётных чисел, среднее арифметическое которых также присутствует в файле
Дана задача В текстовом файле записан набор натуральных чисел, не превышающих 109. Гарантируется, что все числа различны. Необходимо...

Определить, сколько в наборе таких пар чисел, что числа в паре имеют одинаковую чётность
В текстовом файле записан набор натуральных чисел, не превышающих 1000000000. Гарантируется, что все числа различны. Необходимо определить,...

Сколько в наборе таких пар чисел, что числа в паре имеют одинаковую чётность
В текстовом файле записан набор натуральных чисел, не превышающих 1000000000. Гарантируется, что все числа различны. Необходимо определить,...

5
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
02.07.2022, 19:25
Цитата Сообщение от Tipsy_guy Посмотреть сообщение
программа выдаёт пустой список. Почему?
- потому, что ты проверяешь только соседние числа. А проверять нужно все пары. Кроме того, ты используешь не ту операцию деления. Нужно использовать не "/", а "//"
0
2 / 0 / 2
Регистрация: 01.04.2022
Сообщений: 10
02.07.2022, 19:59
Цитата Сообщение от Tipsy_guy Посмотреть сообщение
8 и 14 (среднее арифметическое 11), 14 и 2 (среднее арифметическое 8)
(11 + 17) / 2 = 14 Это же тоже пара чисел?)

Добавлено через 4 минуты
Python
1
2
3
4
5
6
7
8
9
10
with open('test.txt', "r", encoding="utf-8") as f:
    s = [int(x) for x in f]
    res = []
    for i in range(1, s[0]+1):
        for x in range(i+1, s[0]+1):
            if (s[i] + s[x]) / 2 in s:
                if ((s[i] + s[x]) / 2) not in res:
                    res.append((s[i] + s[x]) / 2)
 
    print(f"Количество пар: {len(res)},\nНаибольшее среднее арифметическое: {int(max(res))}")
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
02.07.2022, 23:57
fastbloodjke, по условию нужны пары четных чисел
0
2 / 0 / 2
Регистрация: 01.04.2022
Сообщений: 10
03.07.2022, 06:02
Не заметил условие про то, что нужны пары четных чисел
Python
1
2
3
4
5
6
7
8
9
10
11
with open('test.txt', "r", encoding="utf-8") as f:
    s = [int(x) for x in f]
    res = []
    for i in range(1, s[0] + 1):
        for x in range(i + 1, s[0] + 1):
            if s[i] % 2 == 0 and s[x] % 2 == 0:
                if (s[i] + s[x]) / 2 in s:  
                    if ((s[i] + s[x]) / 2) not in res:
                        res.append((s[i] + s[x]) / 2)
 
    print(f"Количество пар: {len(res)},\nНаибольшее среднее арифметическое: {int(max(res))}")
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.07.2022, 08:47
fastbloodjke, по-прежнему теряете пары в ответе

Добавлено через 10 минут
Да и ошибка выхода за пределы списка обеспечена
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2022, 08:47
Помогаю со студенческими работами здесь

Найдите среднее арифметическое чётных чисел. Если таких нет, выведите “Чётных чисел нет”
Есть N и последовательность N целых чисел. Найдите среднее арифметическое чётных чисел. Если таких нет, выведите “Чётных чисел нет”. ...

Сколько существует пар натуральных чисел x>y таких, что их произведение на 15124 больше их суммы?
Сколько существует пар натуральных чисел x>y таких, что их произведение на 15124 больше их суммы?

Сколько существует пар натуральных чисел х > у таких, что их произведение на 19999 больше их суммы?
Сколько существует пар натуральных чисел х > у таких, что их произведение на 19999 больше их суммы?

Определить среднее арифметическое четных чисел и среднее арифметическое нечетных чисел
Пользователь вводит 12 целых чисел. Определить среднее арифметическое четных чисел и среднее арифметическое нечетных чисел.

Определить, сколько среди заданных чисел таких пар, в которых первое число больше следующего
Определить, сколько среди заданных чисел таких пар, в которых первое число больше следующего Заранее спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru