This repository has been archived on 2024-01-26. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
project-euler/9/euler9.rkt
2017-05-09 21:53:02 +02:00

14 lines
No EOL
435 B
Racket

#lang racket
(define squarenums (map (λ (x) (* x x)) (range 1 500)))
(define squaresums
(for/list ((i squarenums))
(for/list ((j (cdr squarenums)))
(list (+ i j) i j))))
(apply * (map sqrt
(first (filter
(λ (x) (equal? 1000 (+ (sqrt (first x)) (sqrt (second x)) (sqrt (third x)))))
(filter (λ (x) (member (first x) squarenums)) (apply append squaresums))))))