ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 28.11.2009, 05:41
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
С нами: 8730155

Репутация: -1
По умолчанию

precision в php.ini не забудьте поменять )).
 
Ответить с цитированием

  #12  
Старый 28.11.2009, 16:55
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Цитата:
Собственно возникла проблема с выбором оптимального алгоритма для получения числа Пи, скажем с точночтью до 10^100 знаков после запятой.
Цитаты с вики
Цитата:
Текущий рекорд — 1 241 100 000 000 десятичных знаков, установлен Канадой и его группой в 2002 году...
Вычисление было выполнено на суперкомпьютере Хитачи из 64 узлов с 1 терабайтом оперативной памяти, способном выполнять 2 триллиона операций в секунду.
ТС, а сколько, простите, у вас суперкомпьютеров в наличие, если вы замахиваетесь на такую точность?
 
Ответить с цитированием

  #13  
Старый 28.11.2009, 18:24
vp$
Участник форума
Регистрация: 22.10.2007
Сообщений: 138
С нами: 9765139

Репутация: 177
По умолчанию

на пэхе врядли точнее 7-8 символов получится



алгоритм взят из вики

PHP код:
<?php

$pi 
= 0;
for(
$i=0;$i<99999999999999999;$i=$i+4)
{

$pi = $pi + 1/($i+1)-1/($i+3);
echo 
$pi*4 ;
echo 
"\n" ;

}

?>
 
Ответить с цитированием

  #14  
Старый 28.11.2009, 18:35
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
С нами: 10042776

Репутация: 275
По умолчанию

Что, классов для работы с большими числами не существует?
 
Ответить с цитированием

  #15  
Старый 29.11.2009, 00:48
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,793
С нами: 11444066

Репутация: 2290


По умолчанию

bcmath
 
Ответить с цитированием

  #16  
Старый 29.11.2009, 20:59
acdel
Участник форума
Регистрация: 07.01.2008
Сообщений: 187
С нами: 9653803

Репутация: 126
По умолчанию

Цитата:
Сообщение от krypt3r  
Цитаты с вики

ТС, а сколько, простите, у вас суперкомпьютеров в наличие, если вы замахиваетесь на такую точность?
Один. Но изначально я ошибся в плане php, залез в этот раздел потому как он более живой, а в алгоритме поправтье если это не так, главное не язык на котором кодить, а сам алгоритм . Цель не брать "железом", а совершенствовать, (оптимизировать) сам алгоритм вычислений числа Pi. Зачем супержелезо если например взять нейронные сети или как вариант ботнет для распределенных вычислений, ну или ..... Вот собственно поэтому и создал тему так как надеюсь услышать советы в данном направлении с компетентных уст.
 
Ответить с цитированием

  #17  
Старый 29.11.2009, 21:11
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

кмк, лучше комбинации C + Asm вы вряд ли найдете по скорости работы. PHP для таких расчетов не годится, имхо. Он не для этого создавался.
ЗЫ. Никто не мешает реализовать один и тот же алгоритм с фиксированным числом итераций на разных ЯП и сравнить
 
Ответить с цитированием

  #18  
Старый 29.11.2009, 23:03
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
С нами: 9419426

Репутация: 648
По умолчанию

Цитата:
Сообщение от krypt3r  
кмк, лучше комбинации C + Asm вы вряд ли найдете по скорости работы. PHP для таких расчетов не годится, имхо. Он не для этого создавался.
ЗЫ. Никто не мешает реализовать один и тот же алгоритм с фиксированным числом итераций на разных ЯП и сравнить


Думаю, что для высоконагруженных математических расчётов больше подходит функциональное программирование.
Рекомендую Erlang - он очень хорош для распределённого программирования, и в нём нет ограничений на величину чисел.
 
Ответить с цитированием

  #19  
Старый 01.12.2009, 01:06
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами: 10495046

Репутация: 2642


По умолчанию

Код:
<?php
	$r = 4;
	$tochnost = 1000000;
	function y($x) {
		global $r;
		return sqrt($r*$r-$x*$x);
	}
	for($i=-$r*$tochnost;$i<$r*$tochnost;$i++) {
		$x1 = $i/$tochnost;
		$y1 = y($x1);
		$x2 = ($i+1)/$tochnost;
		$y2 = y($x2);
		$d += sqrt(pow(($x2-$x1),2)+pow(($y2-$y1),2));
	}
	echo 'pi = '.$d/$r;
?>
 
Ответить с цитированием

  #20  
Старый 01.12.2009, 01:07
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Еще как вариант,длинные числа можно выводить постепенно.Тоесть - считать постепенно.Сначала считаем сотые,затем тысячные,и так до скольки хотите.Я бы делал наверное так,с глубиной вложения гдето на 15-20 знаковых отличий.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Квантовый алгоритм взлома шифров на фотонном чипе sebay Мировые новости. Обсуждения. 5 09.09.2009 23:05
Помогите разгадать алгоритм. hakerovchanen PHP 6 06.06.2009 00:32
Специалисты X-Force взломали алгоритм шифрования Conficker.C PoN Мировые новости. Обсуждения. 1 21.04.2009 04:46
Исследователи из подразделения IBM X-Force взломали алгоритм шифрования Conficker.C RumShun Мировые новости. Обсуждения. 1 17.04.2009 09:51
Assembler FAQ GlobalRave С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 2 15.02.2009 18:59



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.