diff --git a/3/euler3.rkt b/3/euler3.rkt new file mode 100644 index 0000000..55e5fbf --- /dev/null +++ b/3/euler3.rkt @@ -0,0 +1,14 @@ +#lang racket + +(require math/number-theory) + +(define (primes x) (filter prime? (range 2 (sqrt x)))) + +(define (primefactors x primes) + (if (prime? x) + (list x) + (if (zero? (remainder x (car primes))) + (cons (car primes) (primefactors (quotient x (car primes)) primes)) + (primefactors x (cdr primes))))) + +(apply max (primefactors 600851475143 (primes 600851475143))) \ No newline at end of file