Реализовать итерационную функцию на python3

Рейтинг: 0Ответов: 1Опубликовано: 13.04.2023

введите сюда описание изображения

def main(b, n, a, z):
    result = 0
    term = 0
    chislo = (z ** 2 - 56 * z) ** 2 / 76
    for k in range(1, n + 1):
        product = 1
        for c in range(1, b + 1):
            summation = 0
            summation += c - k ** 3 - c ** 7
            product *= summation
            result += product
    for j in range(1, a + 1):
        term = term + (20 * j ** 3 - chislo)
    result -= term
    return result

Не понимаю в чем ошибка, с таким решением проходит первые два теста, еще пробовал 13 строчку, перенести в цикл j , не проходило вообще тест , не хватало 0.03.

Ответы

▲ 2Принят

Приведённая формула явно имеет такой формат:

f = Сумма(Произведение(...)) - Сумма(...)

То есть суммы должны считаться независимо друг от друга, а потом вычитаться. У вас же получается что-то типа:

f = Сумма(Произведение(Сумма(...)))

Из-за этого подсчёт неправильный. Сами формулы сделаны правильно. То есть код должен выглядеть не так:

for ...
    for ...
        for ...

А так:

for ...
    for ...
for ...

Это в общих чертах.