- 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)
LispGovno 14.11.2012 03:59 # 0
Fai 14.11.2012 04:46 # +1
LispGovno 14.11.2012 04:14 # +1
Это ты флоаты что-ли на == сравниваешь?
Fai 14.11.2012 04:45 # 0
LispGovno 14.11.2012 04:16 # 0
Хотя результат будет не эквивалентен.
Fai 14.11.2012 04:45 # 0
bormand 14.11.2012 06:06 # +3
m=2, n=1 => (3, 4, 5)
m=3, m=2 => (5, 12, 13)
Fai 14.11.2012 06:11 # +2