Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 03:50
756
В файле 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
Остались вопросы?
Еще вопросы по категории Информатика
Как при помощи смещения на вектор в кумире, исполнитель чертежник, нарисовать квадрат 4х4?...
1. Сколько байт в слове ИНФОРМАТИКА? 2. Сколько бит в слове ИНФОРМАТИКА? 3. Сколько байт необходимо для кодирования фразы «КАЗНИТЬ НЕЛЬЗЯ, ПОМИЛОВАТЬ»...
k = 1; for (i = 1; i <= 5; i++) k = k + 3 * i;...
Выбери ответ. 1. Web-страница 2. локальная сеть 3. веб-браузер 4. URL-адрес — это основная информационная единица Всемирной паутины. Она представл...
1. Было проведено 9 запусков программы, при которых в качестве значений переменных я и k вводились следующие пары чисел: (1,1); (10, 7); (6,-12); (6,...