update
This commit is contained in:
parent
1f1ad49427
commit
6f050a029e
2496 changed files with 37609 additions and 3031 deletions
|
|
@ -1,4 +1,3 @@
|
|||
{{omit from|GAP}}
|
||||
Implement one algorithm (or more) to compute the [[wp:Gamma function|Gamma]] (<math>\Gamma</math>) function (in the real field only). If your language has the function as builtin or you know a library which has it, compare your implementation's results with the results of the builtin/library function.
|
||||
The Gamma function can be defined as:
|
||||
|
||||
|
|
|
|||
29
Task/Gamma-function/Racket/gamma-function.rkt
Normal file
29
Task/Gamma-function/Racket/gamma-function.rkt
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#lang racket
|
||||
(define (gamma number)
|
||||
(if (> 1/2 number)
|
||||
(/ pi (* (sin (* pi number))
|
||||
(gamma (- 1.0 number))))
|
||||
(let ((n (sub1 number))
|
||||
(c '(0.99999999999980993 676.5203681218851 -1259.1392167224028
|
||||
771.32342877765313 -176.61502916214059 12.507343278686905
|
||||
-0.13857109526572012 9.9843695780195716e-6 1.5056327351493116e-7)))
|
||||
(* (sqrt (* pi 2))
|
||||
(expt (+ n 7 0.5) (+ n 0.5))
|
||||
(exp (- (+ n 7 0.5)))
|
||||
(+ (car c)
|
||||
(apply +
|
||||
(for/list ((i (in-range (length (cdr c)))) (x (in-list (cdr c))))
|
||||
(/ x (+ 1 n i)))))))))
|
||||
|
||||
(map gamma '(0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0))
|
||||
;->
|
||||
;'(9.513507698668736
|
||||
; 4.590843711998802
|
||||
; 2.9915689876875904
|
||||
; 2.218159543757687
|
||||
; 1.7724538509055159
|
||||
; 1.489192248812818
|
||||
; 1.2980553326475577
|
||||
; 1.1642297137253037
|
||||
; 1.068628702119319
|
||||
; 1.0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue