0
0 Комментариев

Не получается придумать рекурсивный алгоритм. Подскажите его, пожалуйста.

Задача:
Капитализация по вкладу происходит каждый месяц. Получить рекурсивно конечную сумму вклада и прибыль (разность между начальной и конечной суммой вклада).

Функцию, рекурсивно считающую с ежегодной капитализацией написал, но не пойму, как написать с ежемесячной.

Код:

def recursive_method(StartDeposit,RateInYear, TotalAmountYear):
    if (TotalAmountYear == 0): return StartDeposit
    return recursive_method(StartDeposit,RateInYear, TotalAmountYear-1)*(1+RateInYear/100)

Решение:

def recursive_method(StartDeposit,RateInYear, TotalAmountYear):
    AmountMonth = 12* TotalAmountYear
    def forMonth(StartDeposit,RateInYear, AmountMonth):
        if (AmountMonth == 0): return StartDeposit
        return forMonth(StartDeposit,RateInYear, AmountMonth-1)*(1+RateInYear/100/12)
    profit = forMonth(StartDeposit,RateInYear, AmountMonth)
    print("Полученная прибыль: ",  profit - StartDeposit)
    print("Итоговая сумма вклада: ", profit)


Добавить комментарий