16 lines
487 B
Scheme
16 lines
487 B
Scheme
(define (standart-deviation-generator)
|
|
(let ((nums '()))
|
|
(lambda (x)
|
|
(set! nums (cons x nums))
|
|
(let* ((mean (/ (apply + nums) (length nums)))
|
|
(mean-sqr (lambda (y) (expt (- y mean) 2)))
|
|
(variance (/ (apply + (map mean-sqr nums)) (length nums))))
|
|
(sqrt variance)))))
|
|
|
|
(let loop ((f (standart-deviation-generator))
|
|
(input '(2 4 4 4 5 5 7 9)))
|
|
(unless (null? input)
|
|
(display (f (car input)))
|
|
(newline)
|
|
(loop f (cdr input))))
|