Задача Учитывая рекуррентное соотношение для gn в виде
g0 = c, где — постоянная двойная.
gn = f( gn-1 ) , где f – линейная функция.
затем найдите значение другого повторения, заданное выражением
hn = gn/exp(n)
ограничения: 1 ‹= n ‹= 10^9
Математически значение g(n) можно вычислить за время log(n), а затем h(n) можно вычислить очень легко, но проблема заключается в переполнении типов данных типа double. Таким образом, описанная выше стратегия работает только для n около 1000, но не для больших n. Обратите внимание, что значение h(n) может находиться в диапазоне двойных значений.
Настоящая проблема заключается в том, что мы пытаемся вычислить h(n) из g(n). Мой вопрос в том, что есть ли хороший способ вычислить h (n) напрямую без переполнения двойников.