С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.09.2023
Сообщений: 22
1

Реализация формулы Чудновского для Pi

21.01.2024, 17:55. Показов 989. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно у знакомого дите горит с курсовиком.
Собственно первую часть он не без помощи сделал сделал. вторая часть - посчитать по формуле Чудновского первые 10М знаков и вывести в текстовый файл.

помогите разобрать исходник питона (какже без инета) для воспроизведения на delphi.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def chudnovsky2(n):
    pi = Decimal(13591409)
    ak = Decimal(1)
    k = 1
    while k < n:
        ak *= -Decimal((6*k-5)*(2*k-1)*(6*k-1))/Decimal(k*k*k*26680*640320*640320)
 
        val = ak*(13591409 + 545140134*k)
        
        d = Decimal((6*k-5)*(2*k-1)*(6*k-1))/Decimal(k*k*k*26680*640320*640320)
        
        pi += val
        k += 1
    pi = pi * Decimal(10005).sqrt()/4270934400
    pi = pi**(-1)
    return pi
без либы для "Длинной математики" не обойтись.
насколько я понял Decimal это тип данных из "Длинной математики" - верно?
как разкладывается pi = pi**(-1)?

Чет совсем туплю на выходных.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2024, 17:55
Ответы с готовыми решениями:

Реализация формулы для работы с большими числами
Необходимо реализовать код, вычисляющий значение по заданной формуле, который не занимал бы сутки...

Алгоритм Чудновского
f=1 def fact(x): global f while x != 0 and x != 1: f*=x*(x-1) x-=2 return f a=0...

Формула чудновского
Доброго времени суток, нужна небольшая помощь разобраться с формулой чудновского для вычисления...

Реализация формулы
Добрый вечер! Реализую алгоритм Брауна-Робинсона. И столкнулся с проблемой, вроде реализовал...

Реализация формулы
Всех вновь приветствую, решил обратиться за следующей помощью. Дана формула: (Form1) Необходимо...

6
Модератор
3756 / 2260 / 783
Регистрация: 15.11.2015
Сообщений: 8,994
21.01.2024, 18:14 2
** это видимо, возведение в степень.
1
0 / 0 / 0
Регистрация: 17.09.2023
Сообщений: 22
21.01.2024, 19:13  [ТС] 3
Даааааа...... А препод не без юмора оказался...
итак свои 16 разрядов на double получил. теперь дело за библиотекой длинной математики.

какую посоветуете? да и вобще что есть?

PS алгоритм правда с изюминкой - правильно считает только если n кратно 2.
0
0 / 0 / 0
Регистрация: 17.09.2023
Сообщений: 22
22.01.2024, 11:17  [ТС] 4
Мдя.... а выбор то lib для расчетов не большой или GMP или BigDecimal от Rudy.
пока попробывал BigDecimal - если без извращений типа 1000 знаков. прекрасно работает даже мудрить нечего не надо. указал новый тип и уперед. на большую разрядность пока не получается..... гдето косячу. правда демка про Pi жутко медленная. медленне примера из инета, где ошибка с integer....

попробую прикрутить GMP для делфей....
0
3460 / 1648 / 236
Регистрация: 26.02.2009
Сообщений: 8,051
Записей в блоге: 5
22.01.2024, 18:55 5
Есть ещё такая формула, с поверхностным пояснением:
https://www.overclockers.at/ne... ort-thread
Используют int64 и DoubleDouble для деления
Умудряются миллиарды знаков после запятой считать в параллель
0
Модератор
10060 / 5402 / 3353
Регистрация: 17.08.2012
Сообщений: 16,522
23.01.2024, 06:11 6
Не настолько "в лоб", как в сообщении #1, но, опять же, на питоне:
Pi - Chudnovsky
Может, пригодится.
4
1180 / 421 / 107
Регистрация: 31.03.2012
Сообщений: 1,150
26.01.2024, 14:48 7
и еще один интересный проект (в плане рекорда) от fabrice bellard
0
26.01.2024, 14:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2024, 14:48
Помогаю со студенческими работами здесь

Реализация формулы
Формула: M=b(a^x)^-1 mod 11 Реализация __int64 T = fmod(b*pow(pow(a,x),-1),11); выдаёт...

Реализация формулы
Формула для обчисления:(Year(Date())-Year(!))*12+Month(date())-Month(!)&gt;36 Хэлп ми плиз

Реализация формулы
Скажите как это написать в java?

Реализация формулы ОСПЛТ
Добрый день, надо реализовать excel-формулу ОСПЛТ на JS. Подскажите, пожалуйста, как правильно это...

Реализация формулы в матлабе
Имеется формула: где Нужно забить эту формулу в матлабе при условии наличия 15ти различных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru