Тема 18. Обработка вещественных выражений в электронных таблицах
18.07 Последовательность чисел
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка вещественных выражений в электронных таблицах
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#29453

Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее было больше предыдущего больше, чем на d = 10  . Какую максимальную сумму могут иметь выбранные числа?

В ответе запишите только целую часть максимально возможной суммы.

Исходная последовательность записана в виде одного столбца элекронной таблицы.

Пример входных данных:

 


48.1

10.6

20.4

34.1

95.3

97.2

81.3

 

Для указанных входных данных максимально возможная сумма равна 149.8, в ответе надо записать число 149.

Вложения к задаче
Показать ответ и решение

Решение 1 (Excel):

В ячейку B1  скопируем значение ячейки A1  .
В ячейку B2  запишем формулу =ЕСЛИ(ЕСЛИ(A2-A1>10;B1+A2;A2)>=0;ЕСЛИ(A2-A1>10;B1+A2;A2);0)

PIC

Скопируем на весь стобей B  .
Найдём максимум из полученных значений с помощью формулы =МАКС(B  : B)

PIC

Целую часть от полученного значения запишем в ответ.

Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ.

PIC

Теперь напишем программу для решения задачи:

f = open(’18.txt’)
a = []
for i in range(100000):
    n = f.readline()
    n = n.replace(’,’, ’.’)
    a += [float(n)]
s = set()
max_summa = -100000
for i in range(1, len(a)):
    if a[i] - a[i-1] > 10:
        s.add(a[i-1])
        s.add(a[i])
    else:
        max_summa = max(max_summa, sum(s))
        s = set()
print(int(max_summa))

Ответ: 341

Ошибка.
Попробуйте повторить позже

Задача 2#26097

Задание выполняется с использованием прилагаемых файлов

Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее отличалось от предыдущего не менее чем на 20  . Какую максимальную сумму могут иметь выбранные числа? В ответ запишите только целую часть (максимальная сумма =  25,95  , в ответ указываем − 25  )

Вложения к задаче
Показать ответ и решение

Решение 1 (Excel):
В ячейку B1  скопируем значение ячейки A1  .
В ячейку B2  запишем формулу =ЕСЛИ(ЕСЛИ(ABS(A2-A1)>=20;B1+A2;A2)>=0;ЕСЛИ(ABS(A2-A1)>=20;B1+A2;A2);0)

PIC

Скопируем на весь стобей B  .
Найдём максимум из полученных значений с помощью формулы =МАКС(B  : B)

PIC

Полученное значение запишем в ответ.

Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ.

PIC

Теперь напишем программу для решения задачи:

f = open(’18.txt’)
elem = f.readlines()
a = []
n = 99
for i in range(n):
    t = elem[i][:-1]
    a += [int(t)]
ans = -10 ** 20
for i in range(n):
    s = a[i]
    if s > ans:
        ans = s
    for j in range(i + 1, n):
        if abs(a[j] - a[j - 1]) >= 20:
            s += a[j]
            if s > ans:
                ans = s
        else:
            break
print(ans)

Ответ: 287

Ошибка.
Попробуйте повторить позже

Задача 3#25616

Задание выполняется с использованием прилагаемых файлов

Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее число отличалось от предыдущего не более чем на 7. Какую минимальную сумму, большую 20, могут иметь выбранные числа? В ответе запишите только целую часть минимально возможной суммы. Исходная последовательность записана в виде одного столбца электронной таблицы.

Пример входных данных:

|-----|
|-2,0--|
|-9,1--|
|16,2 |
|-----|
|-9,4--|
|-1,9--|
| 5,5  |
------

Для указанных входных данных ответом будет число 25.

Вложения к задаче
Показать ответ и решение

Решение 1 (Excel): В ячейку B1  скопируем значение ячейки A1  .
В ячейку B2  запишем формулу =ЕСЛИ(ABS(A1-A2)<=7;A2+B1;A2)

PIC

Скопируем на весь стобей B  .
В ячейку C2  запишем формулу =ЕСЛИ(И((B2-B1)=A2,B2>20),B2,100000)

PIC

Скопируем на весь стобей C  .
Найдём минимум из полученных значений с помощью формулы =МИН(C:C)

PIC

Полученное значение запишем в ответ.

Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ. Для удобства с помощью комбинации Ctrl+ H  заменим все запяьые на точки. Получим вот такой файлик:

PIC

Теперь напишем программу для решения задачи:

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))

Ответ: 20

Ошибка.
Попробуйте повторить позже

Задача 4#25562

Задание выполняется с использованием прилагаемых файлов

Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее число отличалось от предыдущего не более чем на 14. Какую максимальную сумму могут иметь выбранные числа? В ответе запишите только целую часть максимально возможной суммы. Исходная последовательность записана в виде одного столбца электронной таблицы.

Пример входных данных:

|-----|
|-1,9--|
|15,3-|
|29,7 |
|-----|
|-7,3--|
|-2,2--|
| 1,5  |
------

Для указанных входных данных ответом будет число 29.

Вложения к задаче
Показать ответ и решение

Решение 1 (Excel):
В ячейку B1  скопируем значение ячейки A1  .
В ячейку B2  запишем формулу =ЕСЛИ(ЕСЛИ(ABS(A2-A1)<=14;B1+A2;A2)>=0;ЕСЛИ(ABS(A2-A1)<=14;B1+A2;A2);0)

PIC

Скопируем на весь стобей B  .
Найдём максимум из полученных значений с помощью формулы =МАКС(B  : B)

PIC

Запишем в ответ только целую часть от полученного значения.

Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ.

PIC

Теперь напишем программу для решения задачи:

f = open(’18.txt’)
elem = f.readlines()
a = []
n = 500
for i in range(n):
    t = elem[i][:-1]
    t = t.replace(’,’, ’.’)
    a += [float(t)]
ans = -10 ** 20
for i in range(n):
    s = a[i]
    if s > ans:
        ans = s
    for j in range(i + 1, n):
        if abs(a[j] - a[j - 1]) <= 14:
            s += a[j]
            if s > ans:
                ans = s
        else:
            break
print(int(ans))

Ответ: 97

Ошибка.
Попробуйте повторить позже

Задача 5#24419

Задание выполняется с использованием прилагаемых файлов

Дана последовательность вещественных чисел. Из неё необходимо выбрать несколько подряд идущих чисел так, чтобы каждое следующее число отличалось от предыдущего не более чем на 20  . Какую максимальную сумму могут иметь выбранные числа? В ответе запишите только целую часть максимально возможной суммы. Исходная последовательность записана в виде одного столбца электронной таблицы.

Вложения к задаче
Показать ответ и решение

Решение 1 (Excel):
В ячейку B1  скопируем значение ячейки A1  .
В ячейку B2  запишем формулу =ЕСЛИ(ЕСЛИ(ABS(A2-A1)<=20;B1+A2;A2)>=0;ЕСЛИ(ABS(A2-A1)<=20;B1+A2;A2);0)

PIC

Скопируем на весь стобей B  .
Найдём максимум из полученных значений с помощью формулы =МАКС(B  : B)

PIC

Целую часть от полученного значения запишем в ответ.

Решение 2 (прогой):
Откроем файл в Excel. Выделим все числа и скопируем их в текстовый документ. Для удобства с помощью комбинации Ctrl+ H  заменим все запяьые на точки. Получим вот такой файлик:

PIC

Теперь напишем программу для решения задачи:

f = open(’18.txt’)
n = 500
a = [float(f.readline()) for x in range(n)]
ans = -10 ** 20
for i in range(n):
    s = a[i]
    if s > ans:
        ans = s
    for j in range(i + 1, n):
        if abs(a[j] - a[j - 1]) <= 20:
            s += a[j]
            if s > ans:
                ans = s
        else:
            break
print(int(ans))

Ответ: 97
Рулетка
Вы можете получить скидку в рулетке!