Технический форум
Вернуться   Технический форум > Программирование > Форум программистов


Ответ
 
Опции темы Опции просмотра
Старый 26.12.2009, 08:34   #1 (permalink)
Coxxx
Новичок
 
Регистрация: 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
Coxxx вне форума   Ответить с цитированием

Старый 26.12.2009, 08:34
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Загляните в аналогичные обсуждения

Как понизить октановое число?
Игра "Угадай число". Помогите с алгоритмом
Turbo Pascal 8, дано натуральное число n
Программа выводит результат бесконечное число раз. Не ясна причина
Магическое число 241543903
Преобразование текста в число

Старый 26.12.2009, 09:39   #2 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Ни одна из приведенных вами ссылок не открывается.
На первый взгляд, складывается впечатление, что ваши числа не вмещаются даже в double.
Для текстов программ у нас есть тег ]code[ и закрывающий его ]/code[ (разверните скобки) - приведите тексты в порядок.
Long Cat вне форума   Ответить с цитированием
Старый 26.12.2009, 20:00   #3 (permalink)
Coxxx
Новичок
 
Регистрация: 26.12.2009
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

http://en.literateprograms.org/Pi_wi...a_%28Python%29
Coxxx вне форума   Ответить с цитированием
Старый 27.12.2009, 04:08   #4 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

По указанной выше ссылки нет ничего, кроме сообщения о пустой статье. Хотелось бы почитать про этот метод математическое описание, вместо того чтобы разбирать программу.
Long Cat вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:46.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.