Friday, February 23, 2007

solution to Interesting puzzle about baby girls!

Scheme solution to Interesting puzzle about baby girls!
;Written by Fakrudeen Ali Ahmed
;Date January 12, 2007
(define (try n tries)
(define (populate girls boys people tries)
(if (or (= tries 0) (= people 0)) (list girls boys)
(let ((moregirls (countgirls people))) (begin ;(display moregirls)(newline)
(populate (+ girls moregirls) (+ boys (- people moregirls)) (- people moregirls) (- tries 1))))
)
)
(populate 0 0 n tries)
)

(define (countgirls n)
(define (loop k count)
(if (> k n) count
(loop (+ k 1) (+ count (random 2)))
)
)
(loop 1 0)
)

(define (run file n limit repeat)(with-output-to-file file (lambda()(loop (lambda()(begin (display (try n limit))(newline))) repeat))))

No comments: