Guest User

Untitled

a guest
May 24th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1.  
  2. ;;problem 3 largest prime factor of 600851475143
  3.  
  4. (defn prime? [x]
  5. (if (>= x 2)
  6. (zero?
  7. (count
  8. (filter #(divides? x %)
  9. (range 2 (inc (int (sqrt x)))))))
  10. false))
  11.  
  12. (defn get-biggest-prime-factor [x]
  13. (if (prime? x)
  14. x
  15. (let [lower-factors (filter #(zero? (rem x %))
  16. (range 2 (inc (int (sqrt x)))))]
  17. (reduce max
  18. (concat
  19. (filter #(prime? %) lower-factors)
  20. (map #(/ x %) (filter #(prime? (/ x %)) lower-factors)))))))
  21.  
  22. (get-biggest-prime-factor 600851475143)
Add Comment
Please, Sign In to add comment