Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

17 задание егэ по информатики

Виктория Струкова Ученик (107), открыт 1 месяц назад
Задание 17
Уровень сложности: Средняя
Средняя
Автор: Яндекс УчебникЯндекс УчебникТема: Обработка числовой последовательности в файле(Обработка числовой последовательности в файле)
В файле содержится последовательность целых чисел, каждое из которых по модулю не превышает 100 000. Определите количество троек элементов последовательности, в которых больше одного из трёх элементов оканчиваются на 3 или 5, а произведение элементов тройки не больше куба максимального четырёхзначного элемента последовательности.

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

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

with open ('vika.txt') as f:
s = list(map(int, f.readlines()))
max_sum = int()
max_4 = 9999
h = 0
for i in range(len(s) - 2):
a = s[i]
b = s[i + 1]
c = s[i + 2]
v = sum(1 for x in (a, b, c) if x % 10 == 3 or x % 10 == 5)
if v > 1 and (a * b * c) <= max_4 ** 3:
h += 1
k = a + b + c
if k > max_sum:
max_sum = k
if h == 0:
max_sum = 0

print(h, max_sum)


помогите пожалуйста,почему то не совпадает ответ
3 ответа
Максим Тучков Ученик (197) 1 месяц назад
незнаю
Артем ВаренцовГуру (2666) 1 месяц назад
Опа здорово Макс
Максим Тучков Ученик (197) Артем Варенцов, йй
S.H.I. Оракул (71319) 1 месяц назад
 with open('vika.txt') as f: 
s = list(map(int, f.readlines()))

max_4 = max(x for x in s if 1000 <= x <= 9999)
count = 0
max_sum = 0

for i in range(len(s) - 2):
a, b, c = s[i], s[i+1], s[i+2]

ends_with_3_or_5 = sum(1 for num in (a, b, c) if num % 10 in {3, 5})
if ends_with_3_or_5 > 1 and a * b * c <= max_4 ** 3:
count += 1
current_sum = a + b + c
if current_sum > max_sum:
max_sum = current_sum
print(count, max_sum)
Виктория СтруковаУченик (107) 1 месяц назад
спасибо большое)
больше не чат гпт ???? Мыслитель (9093) 1 месяц назад
 s=[*map(int,open('vika.txt'))] 
m=max(x for x in s if 999<x<10000)
k=[];t=0
for i in range(len(s)-2):
a,b,c=s[i:i+3]
if sum(n % 10 in{3,5}for n in(a,b,c))>1 and a*b*c<=m**3:t+=1;k+=a+b+c,
print(t,max(k)if k else 0)
Похожие вопросы