|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 27 Nov 2002 21:17:02 To : Alexander Ivanchenko Subject : Факториал --------------------------------------------------------------------------------
Wed Nov 27 2002 18:47, Alexander Ivanchenko wrote to All:
AI> Есть число требуется найти факториал (пример 5=1*2*3*4*5), есть формула
AI> считающая его в одну операцию (без циклов и.т.п.) ?
Существует формула Стирлинга
N!=sqrt(2*pi*N)*N^N/e^N*(1+1/(12*N)+1/(288*N^2)+...)
(последний сомножитель, как правило, опускают)
но она
а. Hикогда не выдает целочисленное значение
б. Относительная ошибка ее стремится к нулю, но абсолютная возрастает.
в. При малых N велика и относительная ошибка
N N! S(N) N!-S(N) (N!-S(N))/N!
1 1 0.922137009 0.077862991 0.077862991
2 2 1.919004351 0.080995649 0.040497824
3 6 5.836209591 0.163790409 0.027298401
4 24 23.50617513 0.493824867 0.020576036
5 120 118.019168 1.980832042 0.016506934
6 720 710.0781846 9.921815358 0.013780299
7 5040 4980.395832 59.60416839 0.011826224
8 40320 39902.39545 417.6045473 0.010357256
9 362880 359536.8728 3343.127158 0.009212762
10 3628800 3598695.619 30104.38126 0.00829596
11 39916800 39615625.05 301174.9494 0.007545067
12 479001600 475687486.5 3314113.527 0.006918794
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300793f838e.html, оценка из 5, голосов 10
|