[ create a new paste ] login | about

Project: programmingpraxis
Link: http://programmingpraxis.codepad.org/9NbfghJq    [ raw code | output | fork ]

programmingpraxis - Scheme, pasted on Sep 18:
1
2
3
4
5
6
7
8
9
10
11
12
; project euler problem 3

(define (factors n) ; trial division
  (let loop ((n n) (fs '()))
    (if (even? n) (loop (/ n 2) (cons 2 fs))
      (let loop ((n n) (f 3) (fs fs))
        (if (< n (* f f)) (reverse (cons n fs))
          (if (zero? (modulo n f))
              (loop (/ n f) f (cons f fs))
              (loop n (+ f 2) fs)))))))

(display (factors 13195))


Output:
1
(5 7 13 29)


Create a new paste based on this one


Comments: