(А. Игнатюк) В файле содержится последовательность натуральных чисел, не превышающих \(10000.\) Найдите самую длинную непрерывную цепочку чисел, в которой каждое число делится нацело хотя бы на одно из соседних чисел. Запишите в ответе сначала длину этой цепочки, а потом - сумму чисел в цепочке.
Решение:
Python
nums = [int(x) for x in open('6271.txt')]
nl = len(nums)
ml, ms = 0, 0
p0 = 1
for i in range(1, nl - 1):
if all(nums[i] % x != 0 for x in (nums[i-1], nums[i+1])):
tmp = i - p0
if tmp > ml:
ml = tmp
ms = sum(nums[p0:i])
p0 = i + 1
if p0 < nl - 1:
tmp = nl - 1 - p0
if tmp > ml:
ml = tmp
ms = sum(nums[p0:])
print(ml, ms)
Ответ: \(5 \,\, 26\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене