PasteRack.org
Paste # 85959
2016-07-15 12:52:22

Forked from paste # 48395.

Fork as a new paste.

Paste viewed 346 times.


Embed:

  1. #lang racket
  2.  
  3. (define min -5)
  4. (define max 7)
  5.  
  6. (define (generate)
  7.   (for/list ((i (in-range 3)))
  8.             (for/list ((i (in-range 6)))
  9.                       (+ (random (+ 1 (- max min))) min))))
  10.  
  11. (define (root-mean-square x)
  12.   (sqrt (/ (foldl + 0 (map sqr x)) (length x))))
  13.  
  14. (define r (generate))
  15.  
  16. (for-each displayln r)
  17.  
  18. (displayln "---")
  19.  
  20. (define s (flatten r))
  21.  
  22. (displayln s)
  23.  
  24. (displayln "---")
  25.  
  26. (displayln (root-mean-square (filter (lambda (x) (> x 0))
  27.                                      (drop s (/ (length s) 2)))))

=>

(2 5 -5 7 1 3)

(-4 2 -3 -3 -5 6)

(-1 5 0 6 2 0)

---

(2 5 -5 7 1 3 -4 2 -3 -3 -5 6 -1 5 0 6 2 0)

---

5.024937810560445