tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,5 @@
|
|||
pytr n = filter (\(_, a, b, c) -> a+b+c <= n) [(prim a b c, a, b, c) | a <- [1..n], b <- [1..n], c <- [1..n], a < b && b < c, a^2 + b^2 == c^2]
|
||||
where prim a b _ = gcd a b == 1
|
||||
|
||||
main = putStrLn $ "Up to 100 there are " ++ (show $ length xs) ++ " triples, of which " ++ (show $ length $ filter (\(x,_,_,_) -> x == True) xs) ++ " are primitive."
|
||||
where xs = pytr 100
|
||||
15
Task/Pythagorean-triples/Haskell/pythagorean-triples-2.hs
Normal file
15
Task/Pythagorean-triples/Haskell/pythagorean-triples-2.hs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
triangles :: Int -> [[Int]]
|
||||
triangles max_peri | max_peri < 12 = []
|
||||
| otherwise = concat tiers where
|
||||
tiers = takeWhile (not.null) $ iterate tier [[3,4,5]]
|
||||
tier = concatMap (filter ((<=max_peri).sum).tmul)
|
||||
tmul t = map (map (sum . zipWith (*) t))
|
||||
[[[ 1,-2,2],[ 2,-1,2],[ 2,-2,3]],
|
||||
[[ 1, 2,2],[ 2, 1,2],[ 2, 2,3]],
|
||||
[[-1, 2,2],[-2, 1,2],[-2, 2,3]]]
|
||||
|
||||
triangle_count max_p = (length t, sum $ map ((max_p `div`).sum) t)
|
||||
where t = triangles max_p
|
||||
|
||||
main = mapM_ putStrLn $
|
||||
map (\n -> show n ++ " " ++ show (triangle_count n)) $ map (10^) [1..]
|
||||
Loading…
Add table
Add a link
Reference in a new issue