- 1
- 2
- 3
- 4
- 5
right_triangles = [ (a, b, c a b) | b <- [1..], a <- [1..b], isRight a b ]
where
rc a b = sqrt $ fromIntegral (a^2 + b^2)
c a b = round $ rc a b
isRight a b = (rc a b) == fromIntegral (c a b)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+128
right_triangles = [ (a, b, c a b) | b <- [1..], a <- [1..b], isRight a b ]
where
rc a b = sqrt $ fromIntegral (a^2 + b^2)
c a b = round $ rc a b
isRight a b = (rc a b) == fromIntegral (c a b)
Это ты флоаты что-ли на == сравниваешь?
Хотя результат будет не эквивалентен.
m=2, n=1 => (3, 4, 5)
m=3, m=2 => (5, 12, 13)