Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;problem 3 largest prime factor of 600851475143
- (defn prime? [x]
- (if (>= x 2)
- (zero?
- (count
- (filter #(divides? x %)
- (range 2 (inc (int (sqrt x)))))))
- false))
- (defn get-biggest-prime-factor [x]
- (if (prime? x)
- x
- (let [lower-factors (filter #(zero? (rem x %))
- (range 2 (inc (int (sqrt x)))))]
- (reduce max
- (concat
- (filter #(prime? %) lower-factors)
- (map #(/ x %) (filter #(prime? (/ x %)) lower-factors)))))))
- (get-biggest-prime-factor 600851475143)
Add Comment
Please, Sign In to add comment