В файле находится ряд целых чисел.
Элементы ряда могут принимать целые значения в диапазоне
Приведём решение на языке Python.
count = 0
f = open('1_17.txt')
l = [int(i) for i in f]
max_dvy = 0
for i in range(len(l)):
if abs(l[i]) % 100 == 17:
max_dvy = max(max_dvy, l[i])
for i in range(len(l) - 2):
c = 0
s = [l[i], l[i+1], l[i+2]]
for x in s:
if 99 < abs(x) < 1000:
c += 1
if c == 1 and sum(s) < max_dvy:
count += 1
print(count)
В результате работы данного алгоритма при вводе данных из файла ответ — 1684.
Ответ: 1684.
Примечание.
Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Максима Григорьева на языке Python.
with open('1_17.txt') as f:
s = [int(x) for x in f.readlines()]
m = max(x for x in s if str(x).endswith('17'))
count = 0
def f(arg):
return len(str(abs(arg))) == 3
for i in range(len(s) - 2):
p = [s[i + x] for x in range(3)]
if sum(f(x) for x in p) == 1 and sum(p) < m:
count += 1
print(count)
Приведём решение Ильи Андрианова на языке Python.
M = [int(x) for x in open('1_17.txt')]
A = [x for x in M if str(x)[-2:] == '17']
cnt = 0
for i in range(len(M)-2):
x, y, z = M[i:i+3]
D = [a for a in (x, y, z) if len(str(abs(a))) == 3]
if len(D) == 1:
if (x + y + z) < max(A):
cnt += 1
print(cnt)

