Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[질문] n!(팩토리얼)을 log로 구하는 공식

688 views
Skip to first unread message

장재익

unread,
Feb 7, 2001, 8:38:27 PM2/7/01
to
안녕하시겠지요?
제목처럼 n!(예를 들어 100!, 10000!)을 log를 써서 구하는 공식을 찾고
있습니다.
고등학교 책을 뒤져야 할지 대학 책을 뒤져야 할지 워낙 오래전에 수학책을
놔서리..
아시는 분 간단한 설명과 참고 자료를 알려 주시면 감사하겠습니다.
그럼 20000


Kim Sungbom

unread,
Feb 8, 2001, 11:50:47 AM2/8/01
to
"장재익" wrote:
>
> 제목처럼 n!(예를 들어 100!, 10000!)을 log를 써서 구하는 공식을 찾고 있습니다.
> 고등학교 책을 뒤져야 할지 대학 책을 뒤져야 할지 워낙 오래전에 수학책을 놔서리..
> 아시는 분 간단한 설명과 참고 자료를 알려 주시면 감사하겠습니다.

근사식을 찾으신다면, Stirling's approximation이 있습니다.

ln N! ≒ N ln N - N

http://www.umr.edu/~wlf/Math/Stirlings.html

--
김승범
/* 메일 질문에는 답하지 않습니다. 질문은 뉴스그룹에 이어서 해주세요. */

jeoncGun

unread,
Mar 14, 2001, 3:34:28 AM3/14/01
to
근사식 으로는 오차가 너무 크네요! 약 10~30배에 가까운 오차입니다.
작은 수에서 오차가 크므로 30!정도를 미리 계산하고 나머지 부분을 계산하면
조금 근접 합니다.
ln N! = N ln N - N - 30 ln + 30 + ln 30!
정확한 값은 오버 플로우가 되지 않는 범위에서 계산하고 ln값을 취하여 합성
하는 방법이 시간은 걸리지만 정확한 값을 구할 수 있을 것 같습니다.

=================================================

"Kim Sungbom" <musi...@bawi.org> wrote in message
news:3A82CE67...@bawi.org...

Chong-Dae Park

unread,
Mar 15, 2001, 3:50:47 AM3/15/01
to
jeoncGun <jeo...@hyorim.co.kr> wrote:
> 근사식 으로는 오차가 너무 크네요! 약 10~30배에 가까운 오차입니다.
> 작은 수에서 오차가 크므로 30!정도를 미리 계산하고 나머지 부분을 계산하면
> 조금 근접 합니다.
> ln N! = N ln N - N - 30 ln + 30 + ln 30!
> 정확한 값은 오버 플로우가 되지 않는 범위에서 계산하고 ln값을 취하여 합성
> 하는 방법이 시간은 걸리지만 정확한 값을 구할 수 있을 것 같습니다.

오차가 문제된다면 보다 정확한 근사치를 쓰면 어떨까요?

N! = sqrt(2 PI N) N^N exp[-N + 1/(12N) + O(1/N^2)] 이므로

(http://schof.colorado.edu/~bart/book/stirling.htm)

이것의 log를 취해서 쓰면 어떨까요?

ln N! ~ N ln N - N + 1/2 ln (2 PI N) + 1/(12N)

를 쓰면 되겠네요.

--
박종대
--
The Ultimate Question is....
W.H.A.T.D.O.Y.O.U.G.E.T.I.F.Y.O.U.M.U.L.T.I.P.L.Y.S.I.X.B.Y.N.I.N.E.....
- "The Restaurant at the End of the Universe", D. Adams -

0 new messages