Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 03:50
851
В файле 17.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы один из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичная запись хотя бы одного из трёх элементов оканчивается на 6. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
1
ответ
Программа:
Python:
path = '17.txt'
with open(path) as f:
file = [int(x) for x in f.readlines()]
average = sum(file) / len(file)
maxnum, count = -10000, 0
for i in range(len(file) - 2):
endingCheck = (abs(file[i]) % 10 == 6) + (abs(file[i + 1]) % 10 == 6) + (abs(file[i + 2]) % 10 == 6)
averageCheck = (file[i] < average) + (file[i + 1] < average) + (file[i + 2] < average)
if averageCheck >= 2 and endingCheck > 0:
count += 1
maxnum = max(maxnum, file[i] + file[i + 1] + file[i + 2])
print(count, maxnum)
Вывод: 2411 17979
Объяснение:
В начале происходит чтение файла по указанному в переменной path пути и запись строк в переменную file. Далее - находим среднее значение цифр и записываем его в переменную average. Для будущего регистрируем переменную maxnum с минимальным значением -10000 и переменную count, где будет хранится количество троек. После - с помощью цикла пробегаемся по элементам массива. В переменной endingCheck определяется кол-во чисел, окончание у которых равно 6. В averageCheck - кол-во чисел, которые меньше среднего значения в массиве. Потом с помощью оператора if выполняем действия согласно условию: если количество чисел, которые меньше среднего арифметического больше нуля (то есть есть хотя бы один) и если хотя бы у одного из чисел последняя цифра 6, то увеличиваем значение переменной count на 1 и переменной maxnum присваиваем максимальное число из текущего максимального и суммы этих троек.
Python:
path = '17.txt'
with open(path) as f:
file = [int(x) for x in f.readlines()]
average = sum(file) / len(file)
maxnum, count = -10000, 0
for i in range(len(file) - 2):
endingCheck = (abs(file[i]) % 10 == 6) + (abs(file[i + 1]) % 10 == 6) + (abs(file[i + 2]) % 10 == 6)
averageCheck = (file[i] < average) + (file[i + 1] < average) + (file[i + 2] < average)
if averageCheck >= 2 and endingCheck > 0:
count += 1
maxnum = max(maxnum, file[i] + file[i + 1] + file[i + 2])
print(count, maxnum)
Вывод: 2411 17979
Объяснение:
В начале происходит чтение файла по указанному в переменной path пути и запись строк в переменную file. Далее - находим среднее значение цифр и записываем его в переменную average. Для будущего регистрируем переменную maxnum с минимальным значением -10000 и переменную count, где будет хранится количество троек. После - с помощью цикла пробегаемся по элементам массива. В переменной endingCheck определяется кол-во чисел, окончание у которых равно 6. В averageCheck - кол-во чисел, которые меньше среднего значения в массиве. Потом с помощью оператора if выполняем действия согласно условию: если количество чисел, которые меньше среднего арифметического больше нуля (то есть есть хотя бы один) и если хотя бы у одного из чисел последняя цифра 6, то увеличиваем значение переменной count на 1 и переменной maxnum присваиваем максимальное число из текущего максимального и суммы этих троек.
0
·
Хороший ответ
4 апреля 2023 03:50
Остались вопросы?
Еще вопросы по категории Информатика
Выберите знаковую модель А рисунок Б таблица В схема Г формула Графической моделью иерархической системы являются математическая модель табличная...
Найдите все пятизначные числа, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111. для питона...
Врач стоматолог принимает пациентов с 8 утра до 12 часов дня. На каждого пациента отводится по 30 минут. Какое количество информации содержит сообщени...
СРОЧНО Верно ли утверждение: метод фокальных объектов - это процесс поиска идей, характеристик одного предмета путем переноса на него свойств другого....
Разгадайте кроссворд "информация и информационные процессы"...