Special pythagorean triplet: Difference between revisions
Content added Content deleted
(added FreeBASIC) |
(→{{header|Common Lisp}}: Added Common Lisp version) |
||
Line 74: | Line 74: | ||
a * b * c = 31875000 |
a * b * c = 31875000 |
||
</pre> |
</pre> |
||
=={{header|Common Lisp}}== |
|||
This version utilizes SCREAMER which provides constraint solving. |
|||
<lang lisp> |
|||
(ql:quickload "screamer") |
|||
(in-package :screamer-user) |
|||
(defun special-pythagorean-triple (sum) |
|||
(let* ((a (an-integer-between 1 (floor sum 3))) |
|||
(b (an-integer-between (1+ a) (floor (- sum a) 2))) |
|||
(c (- sum a b))) |
|||
(when (< c b) (fail)) |
|||
(if (= (* c c) (+ (* a a) (* b b))) |
|||
(list a b c (* a b c)) |
|||
(fail)))) |
|||
(print (one-value (special-pythagorean-triple 1000))) |
|||
;; => (200 375 425 31875000) |
|||
</lang> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |
||
Line 450: | Line 469: | ||
Real: 00:00:03.704 |
Real: 00:00:03.704 |
||
</pre> |
</pre> |
||
=={{header|FreeBASIC}}== |
=={{header|FreeBASIC}}== |
||
<lang freebasic>' version 06-10-2021 |
<lang freebasic>' version 06-10-2021 |