26.12.2009, 08:34 | #1 (permalink) |
Новичок
Регистрация: 26.12.2009
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Число Пи на C#
Помогите решить задачу. Я пытаюсь сделать приложение которое считало бы число ПИ по этой формуле http://upload.wikimedia.org/math/0/3/7/65027f.png Это так называемая BBP формула, с помощью которой можно узнать сразу 14 чисел после запятой без знания предыдущих. На сайте Pi with - LiteratePrograms la_(Python) использую немного изменённую формулу и предлагают пример на Питоне. Вот что написал я: Код:
for (int i = 0; i < 2; i++) { //j = j + (1 / 16 ^ i); PiD = PiD + ((1 / Math.Pow(16, i)) * (4.0 / (8.0 * i + 1.0)) - (2.0 / (8.0 * i + 4.0)) - (1.0 / (8.0 * i + 5.0)) - (1.0 / (8.0 * i + 6.0))); listBox1.Items.Add(PiD.ToString()); } Это по формуле из Википедии. Ни каких результатов манипуляция не даёт, хотя всё сделанно как в формуле. Вот ещё. Аналог Питоновских скриптов: private double Pi(int n) { //n -= 1; double ret; double x = (4.0 * S(1.0, n) - 2.0 * S(4.0, n) - S(5.0, n) - S(6.0, n)) % 1.0; ret = x*Math.Pow(16,n); return ret; } private double S(double j,int n) { double r = 0; double s = 0; double t = 0; int nn = 0; if (n == 0) nn = n + 1; else nn = n; //Левая сторона for (int k = 0; k < nn; k++) { r = 8 * k + j; s = s + ((Math.Pow(16, n - k) * r) / r) % 1.0; } //Правая сторона double newt=0; bool test = true; int kk = n + 1; while (test) { newt = t + (Math.Pow(16, n - kk) / (8 * kk + j)); if (t == newt) test = false; else t = newt; kk++; Console.WriteLine("KK " + kk); } return s + t; Помогите реализовать этот метод вычисления числа ПИ. Очень нужно для исследования. Спасибо!!! Последний раз редактировалось Coxxx; 26.12.2009 в 19:49 |
26.12.2009, 08:34 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Загляните в аналогичные обсуждения Как понизить октановое число? Игра "Угадай число". Помогите с алгоритмом Turbo Pascal 8, дано натуральное число n Программа выводит результат бесконечное число раз. Не ясна причина Магическое число 241543903 Преобразование текста в число |
26.12.2009, 09:39 | #2 (permalink) |
Banned
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
|
Ни одна из приведенных вами ссылок не открывается.
На первый взгляд, складывается впечатление, что ваши числа не вмещаются даже в double. Для текстов программ у нас есть тег ]code[ и закрывающий его ]/code[ (разверните скобки) - приведите тексты в порядок. |
27.12.2009, 04:08 | #4 (permalink) |
Banned
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
|
По указанной выше ссылки нет ничего, кроме сообщения о пустой статье. Хотелось бы почитать про этот метод математическое описание, вместо того чтобы разбирать программу.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|