팩토리얼 6

감마함수(gamma function)의 값을 (유효수자 15자리 까지 정밀하게) 계산하는 Python 언어 소스

Lanczos 알고리즘은 Stirlng 공식에 의한 알고리즘 보다 정밀하며, 십진수로 유효숫자 약 15자리 까지는 정확하게 계산해 준다. 단지 exp 함수를 이용하는 부분에서는 exp 함수의 구현에 따라 오차가 더 있을 수 있다. #!/usr/bin/env python # -*- encoding:utf-8 -*- # Filename: testLanczos-01.py # # An approximation for the gamma function by using the Lanczos algorithm # # Execute: python testLanczos-01.py # or # Execute: ./testLanczos-01.py # # See: http://en.wikipedia.org/wiki/Lancz..

Ubuntu에서 gnuplot 을 이용하여 그린 감마함수(gamma function)의 그래프

감마함수 Γ(x)의 정의 (i) \textrm{$\alpha > 0$일 때는} \Gamma (\alpha) = \int_0^\infty e^{-t} t^{\alpha - 1} \ dt (ii) \textrm{$\alpha 0$ 이 되는 최소의 양의 정수 $k$를 찾아서} \Gamma (\alpha) = \dfrac{\Gamma(\alpha + k)}{\alpha (\alpha + 1) \cdots (\alpha +k - 1)} [감마함수 Γ(x)의 특징] (1) \Gamma (\alpha + 1) = \alpha \cdot \Gamma(\alpha) (2) \textrm{특히 $n$이 양의 정수일 때는 \ } \Ga..

학습/수학 2012.12.12

Ubuntu 에 설치된 KmPlot 을 이용하여 그린 감마함수(gamma function)의 그래프

감마함수 Γ(x)의 정의 (i) \textrm{$\alpha > 0$일 때는} \Gamma (\alpha) = \int_0^\infty e^{-t} t^{\alpha - 1} \ dt (ii) \textrm{$\alpha 0$ 이 되는 최소의 양의 정수 $k$를 찾아서} \Gamma (\alpha) = \dfrac{\Gamma(\alpha + k)}{\alpha (\alpha + 1) \cdots (\alpha +k - 1)} [감마함수 Γ(x)의 특징] (1) \Gamma (\alpha + 1) = \alpha \cdot \Gamma(\alpha) (2) \textrm{특히 $n$이 양의 정수일 때는 \ } \Ga..

학습/수학 2012.12.12

C++ 언어로 GMP 라이브러리를 이용하여 30! 까지 정확하게 계산하기

아래의 소스는 윈도우에서 Luna MinGW & GNU C 4.5.0 (gcc), 로 테스트되었다. long 타입으로는 13! 까지만 정확하계 계산되지만 GMP 를 이용한 계산은 아무리 큰 수의 곱셈이라도 정확히 계산해준다. 윈도우에 Luna MinGW (with GCC 4.5.0) 설치하기: 1) Luna MinGW 홈페이지(MinGW GCC C/C++ Compiler package with installer) 2) Luna MinGW 설치파일 다운로드 영문 위키피디아에서 소개하는 MinGW MinGW 의 공식 웹사이트에서 MinGW 를 설치하면 gcc 버전이 3.4.5 밖에 되지 않고, gmp 라이브러리도 수동으로 설치헤야 하는 번거로움이 있으므로, 여기서는 Luna MinGW 를 설치하기로 한다. ..

프로그래밍/C++ 2010.08.13

C 언어로 GMP 라이브러리를 이용하여 30! 까지 정확하게 계산하기

아래의 소스는 윈도우에서 Luna MinGW & GNU C 4.5.0 (gcc), 로 테스트되었다. long 타입으로는 13! 까지만 정확하계 계산되지만 GMP 를 이용한 계산은 아무리 큰 수의 곱셈이라도 정확히 계산해준다. 윈도우에 Luna MinGW (with GCC 4.5.0) 설치하기: 1) Luna MinGW 홈페이지(MinGW GCC C/C++ Compiler package with installer) 2) Luna MinGW 설치파일 다운로드 * 소스 파일명: recFactGMP01.c /* * Filename: recFactGMP01.c * * Compile: gcc -o recFactGMP01 recFactGMP01.c -lgmp */ #include #include void factor..

프로그래밍/C 2010.08.13

30000! 빨리 계산하기 with Haskell

* 꼬리 재귀호출과 패턴 매칭을 이용하여 구현한 팩토리얼과 피보나치 수열 계산 {- Filename: fact.hs Rapid factorial and fibonacci seq implementations by pattern matching and tail recursive call Compile: ghc fact.hs Execute: main Date: 2010/07/20 Author: phkim pkim (AT) scripts.pe.kr -} module Main where factorial :: Integer -> Integer factorial n = recfact 1 n recfact :: Integer -> Integer -> Integer recfact acc k = case k of 0 -..