aboutsummaryrefslogtreecommitdiff
path: root/haskell/009-special_pythagorean_triplet.hs
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-08-12 15:47:31 +0200
committerCharles <sircharlesaze@gmail.com>2019-08-12 15:47:31 +0200
commitbb515e51d67f37ba9c6dfbd2fd0930be873a5ada (patch)
treee86abea100d2c02a5dad7b6d5f0bf29c307bae04 /haskell/009-special_pythagorean_triplet.hs
parent1879caa1dd80cb11dd62403663917ad4bf7cc68e (diff)
downloadproject_euler-bb515e51d67f37ba9c6dfbd2fd0930be873a5ada.tar.gz
project_euler-bb515e51d67f37ba9c6dfbd2fd0930be873a5ada.tar.bz2
project_euler-bb515e51d67f37ba9c6dfbd2fd0930be873a5ada.zip
haskell problems 007 -> 010
Diffstat (limited to 'haskell/009-special_pythagorean_triplet.hs')
-rw-r--r--haskell/009-special_pythagorean_triplet.hs21
1 files changed, 21 insertions, 0 deletions
diff --git a/haskell/009-special_pythagorean_triplet.hs b/haskell/009-special_pythagorean_triplet.hs
new file mode 100644
index 0000000..056a7c3
--- /dev/null
+++ b/haskell/009-special_pythagorean_triplet.hs
@@ -0,0 +1,21 @@
+-- Special Pythagorean triplet
+--
+-- Problem 9
+-- A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
+--
+-- a^2 + b^2 = c^2
+-- For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2.
+--
+-- There exists exactly one Pythagorean triplet for which a + b + c = 1000.
+-- Find the product abc.
+
+
+main = do
+ print (truncate (pyth_triplet 1 1))
+
+pyth_triplet :: Float -> Float -> Float
+pyth_triplet a b
+ | a + b + c == 1000 = a * b * c
+ | b >= 1000 = pyth_triplet (a + 1) 0
+ | otherwise = pyth_triplet a (b + 1)
+ where c = sqrt (a ^ 2 + b ^ 2)