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))