Улучшить точность при расчетах с числами после точки

Есть программа для расчета сопротивления в схеме с n количеством звеньев. Есть код с рекурсией (важно сделать именно рекурсию, такова моя задача), в котором примерно после 16 звеньев python просто перестает считать и выводит одинаковые числа при любом значении n. Как сделать так чтобы программа выводила мне точные числа (если это вообще возможно)?

def Rx(r):
    if r == 1:
        return 3
    res = Rx(r - 1)
    return 2 + res/(1+res)

a=int(input())
print(Rx(a))

Ответы (1 шт):

Автор решения: Lawrence

Можешь использовать встроенный в python модуль decimal from decimal import Decimal Decimal("0.1") + Decimal("0.2") # 0.3 Тем самым исправив проблемы с точностью, потом уже сможешь округлить до нужного количества знаков. *Примечание: в Dicimal передаётся строка, а не число, а так же нельзя смешивать в операциях дробные числа float и Decimal (т.е. сначала нужно всё привести к Decimal)

→ Ссылка