Problem 218
218 Perfect right-angled triangles
Problem 218 - Project Euler
ようするに,原始ピタゴラス数に関する問題.
適当にコード書いて,適当に走らせ,予測をして入力したらあっていた.
適当なコードが↓
import Data.List import Control.Monad pythagoras u = do n <- [1..u] m <- [n+1..floor.sqrt.fromIntegral $ u - n^2] guard $ even m || even n && gcd m n == 1 return (m^2-n^2, 2*m*n, m^2+n^2) perfect u = do (m ,n , _) <- pythagoras u return (abs $ m^2-n^2, 2*m*n, m^2+n^2) superPerfect = filter (\(a, b,_) -> mod (a*b) 168 == 0).perfect