Вычислить N-ую десятичную цифру числа пи
Что мне нужно:
Функция для вычисления N-й десятичной цифры числа Пи. Пример:
>>> pi_digit(1)
1
>>> pi_digit(2)
4
>>> pi_digit(3)
1
>>> pi_digit(4)
5
Что я пробовал:
Во время поиска нашел этот код. На самом деле он делает то, что мне нужно, кроме одной вещи - он вычисляет все N цифр, а мне нужно только последнее. Возможно ли это сделать эффективным способом? (если бы я просто нарезал строку для последнего символа, это было бы не так быстро). Заранее спасибо.
Зачем мне это нужно:
Я собираюсь поместить этот скрипт, который будет добавлять цифры в текстовый файл, на мой сервер и оставить его на 20-30 дней, и проверить вывод.
1 ответ
Увидеть:
Неограниченные алгоритмы Spigot для цифр числа Пи
Джереми Гиббонс
Обсуждаемая программа написана на ленивом функциональном языке программирования Haskell [5]. В качестве второстепенного пункта этой статьи мы надеемся убедить читателя, что такие языки являются отличными средствами выражения математических вычислений, безусловно, по сравнению с другими языками программирования общего назначения, такими как Java, C и Pascal, и, возможно, даже по сравнению с системы компьютерной алгебры, такие как Mathematica.
https://www.cs.ox.ac.uk/jeremy.gibbons/publications/spigot.pdf
это может быть реализовано с помощью pidigits
https://github.com/transmogrifier/pidigits
pidigits доступен через Python Package Index (PyPI) с помощью pip.
>>> pip install --upgrade pidigits