Задание выполняется с использованием прилагаемых файлов
Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее число отличалось от предыдущего не более чем на 7. Какую минимальную сумму, большую 20, могут иметь выбранные числа? В ответе запишите только целую часть минимально возможной суммы. Исходная последовательность записана в виде одного столбца электронной таблицы.
Пример входных данных:
Для указанных входных данных ответом будет число 25.
Решение 1 (Excel): В ячейку скопируем значение ячейки
.
В ячейку запишем формулу =ЕСЛИ(ABS(A1-A2)<=7;A2+B1;A2)
Скопируем на весь стобей .
В ячейку запишем формулу =ЕСЛИ(И((B2-B1)=A2,B2>20),B2,100000)
Скопируем на весь стобей .
Найдём минимум из полученных значений с помощью формулы =МИН(C:C)
Полученное значение запишем в ответ.
Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ. Для удобства с помощью комбинации заменим все запяьые на точки. Получим вот такой файлик:
Теперь напишем программу для решения задачи:
file = open(’18.txt’)
f = [float(x) for x in file]
summ = f[0]
counter = 1
minim = 1000000
for i in range(1, len(f)):
if abs(f[i] - f[i - 1]) <= 7:
summ += f[i]
counter += 1
else:
summ = f[i]
counter = 1
if summ > 20 and counter > 1:
minim = min(minim, summ)
print(int(minim))