Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
3 апреля 2023 00:54
535
В файле 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
·
Хороший ответ
5 апреля 2023 00:54
Остались вопросы?
Еще вопросы по категории Информатика
К формальным языкам относится: а) русский б) латынь в) китайский г)французский...
Поставь теги Сделай фразу «Фонк начинался как поджанр хип-хопа» курсивной. Сделай фразу «хэштег #phonk» полужирной. html <html> <bod...
Минимальная единица количества информации называется . Это такая информация, которую мы получаем при выборе одного из вариантов. Например, ответ на...
Выполните вычитание двоичных чисел 1. 11010-1101= 6. 10111-1001= 2. 1101-110= 7. 111011-11001= 3. 1101-111= 8. 110111-11100= 4. 10001-1011= 9. 1111...
По каналу связи передаются сообщения, содержащие только буквы А, Б, В, Г, Д, Е. Для передачи используется неравномерный двоичный код, удовлетворяющий...