Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
3 апреля 2023 00:54
557
В файле 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
Остались вопросы?
Еще вопросы по категории Информатика
Переведите десятичное число 189 в двоичную систему счисления....
Даю 22 балла Какое МАКСИМАЛЬНОЕ количество вопросов достаточно задать вашему собеседнику, чтобы точно определить день и месяц его рождения? Сделать по...
Помогите составить алгоритм на АЯ решения квадратного уравнения и блок схему уравнения ах²+bx+с=2...
Производительность работы компьютера (быстрота выполнения операций) зависит от 1) размера экрана 2) сопротивления сети 3) тактовой частоты процессо...
Значение арифметического выражения: 512^230 + 256^64 - 32^23 записали в системе счисления с основанием 2. Сколько цифр «0» в этой записи?...