problem 53
nCr ( 1 ≤ n ≥ 100, 1 ≤ r ≤ n ) で 1,000,000 を超えるものはいくつあるかという問題。
n と r で 2 重ループにして足していけば良いだけです。こういう問題を loop を使わずに解けるようになりました。
(use srfi-1) ; permutation (define (p n r) (apply * (iota r n -1))) ; combination (define (c n r) (/ (p n r) (p r r))) (define (p53) (fold (lambda (n p) (+ p (count (pa$ < 1000000) (map (pa$ c n) (iota n 1))))) 0 (iota 100 1))) (print (p53))