Mercurial > hg > toys
changeset 13:484f9cac6a1f
Merge in elisp
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 02 Oct 2013 08:43:51 -0400 |
parents | d5ba6cf70633 (current diff) f00fd0247806 (diff) |
children | 4282cc25e35c |
files | |
diffstat | 1 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/elisp/streaks.el @@ -0,0 +1,27 @@ +(setq biggest-streaks nil) +(setq reps 1000.0) + +(dotimes (i reps) + + (setq groups nil) + + (let ((n 100) + (pre nil)) + (dolist (elt + ;; Make n random flips + (mapcar (lambda (x) (mod (random) 2)) + (make-list n nil))) + ;; Group streaks together + (progn + (if (eql elt pre) + (setq groups + (cons (cons elt (car groups)) (cdr groups))) + (setq groups + (cons (list elt) groups))) + (setq pre elt)))) + + ;; Get the longest streak + (setq biggest-streaks + (cons (apply 'max (mapcar 'length groups)) biggest-streaks))) + +(message "Average is %f " (/ (apply '+ biggest-streaks) reps))