Mercurial > hg > toys
comparison elisp/streaks.el @ 9:f00fd0247806
Add elisp
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Tue, 01 Oct 2013 21:39:36 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 9:f00fd0247806 |
---|---|
1 (setq biggest-streaks nil) | |
2 (setq reps 1000.0) | |
3 | |
4 (dotimes (i reps) | |
5 | |
6 (setq groups nil) | |
7 | |
8 (let ((n 100) | |
9 (pre nil)) | |
10 (dolist (elt | |
11 ;; Make n random flips | |
12 (mapcar (lambda (x) (mod (random) 2)) | |
13 (make-list n nil))) | |
14 ;; Group streaks together | |
15 (progn | |
16 (if (eql elt pre) | |
17 (setq groups | |
18 (cons (cons elt (car groups)) (cdr groups))) | |
19 (setq groups | |
20 (cons (list elt) groups))) | |
21 (setq pre elt)))) | |
22 | |
23 ;; Get the longest streak | |
24 (setq biggest-streaks | |
25 (cons (apply 'max (mapcar 'length groups)) biggest-streaks))) | |
26 | |
27 (message "Average is %f " (/ (apply '+ biggest-streaks) reps)) |