Очевидно, я недостаточно внятно сформулировал задачу, в результате ряд уважаемых читателей решили, что основная проблема — это оценка остатка и увлеченно принялись эту оценку искать. Сам по себе, поиск такой оценки — дело интересное, но в рамках исходной задачи не самое важное.
Суть в том, что ряд, который я вам предложил, "в лоб" с требуемой точностью не суммируется.
А чтобы вы свою жизнь не тратили на эти обреченные попытки, установлен жесткий лимит времени (напомню, если ваша программа считает дольше 10 секунд, значит задача не решена \надо было ставить 100 мс\). И вот найти выход, извернуться и просуммировать, таки, ряд, вот в этом суть.
Для облегчения жизни присутствующих, под катом выложены результаты моих расчетов. Абсолютная погрешность заведомо не более 1e-14, так что сравнивайте со своими расчетами смело, не заморачиваясь оценками хвостов. Суть не в хвостах.
1.6449340668482264
1.5346072449045607
1.4408788415467229
1.360082586782444
1.2895778007910417
1.2274112777602189
1.1721051961250153
1.1225193425357527
1.0777588727442429
1.0371109178506583
0.99999999999999989
Время счета моей (изрядно продвинутой) современной версии составило в один поток около
И еще. Имейте в виду. Использование всевозможных констант при расчете вполне кошерно. А вот если вы используете формулы, в которых выражение, содержащее аргумент Х, попадает под действие трансцендентной функции (особенно такой нетривиальной, как дигамма), то значит вы жульничаете, перекладывая задачу суммирования ряда на плечи автора математической библиотеки.