Задать вопрос
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 комментария
Помогут разобраться в теме Все курсы
  • karpov.courses
    Математика для Data Science
    1 месяц
    Далее
  • Фоксфорд
    Алгоритмика и основы написания кода. 3–5 классы. (в записи)
    1 месяц
    Далее
  • GB (GeekBrains)
    Искусственный интеллект. Специалист
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@lamerok
Приближенно можно так: ln(a+n) + 1/((a+n)*2) - ln(a-1) - 1/((a-1)*2), если более точно, ошибку можно уменьшить, посчитав её через числа Бернули.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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