Задать вопрос
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.
  • Вопрос задан
  • 232 просмотра
Подписаться 2 Сложный 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Математика для анализа данных
    6 месяцев
    Далее
  • Skillbox
    Математика для Data Science
    4 месяца
    Далее
  • Skillfactory
    Data Scientist с нуля до PRO
    25 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@lamerok
Приближенно можно так: ln(a+n) + 1/((a+n)*2) - ln(a-1) - 1/((a-1)*2), если более точно, ошибку можно уменьшить, посчитав её через числа Бернули.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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