Задать вопрос
trapwalker
@trapwalker
Программист, энтузиаст

Как посчитать сумму ряда С[n]=1/(a+0)+1/(a+1)+1/(a+2)+...+1/(a+n) за O(1)?

Нужно, собственно, посчитать сумму ряда С[n]=1/(a+0)+1/(a+1)+1/(a+2)+...+1/(a+n) за O(1).
Вопрос связан с вот этим вопросом: Как можно заменить способ выбора случайной величины с меньшим потреблением памяти, или есть ли альтернатива random.choises()?
Как альтернативу, можно попробовать решить другую, более полезную задачу:
За O(1) определить min(i) для которого C[i] > X.
  • Вопрос задан
  • 229 просмотров
Подписаться 2 Сложный 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@lamerok
Приближенно можно так: ln(a+n) + 1/((a+n)*2) - ln(a-1) - 1/((a-1)*2), если более точно, ошибку можно уменьшить, посчитав её через числа Бернули.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы