diff options
| -rw-r--r-- | challenge-102/ulrich-rieke/haskell/ch-1.hs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/challenge-102/ulrich-rieke/haskell/ch-1.hs b/challenge-102/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..00f7dea9f9 --- /dev/null +++ b/challenge-102/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,16 @@ +module Challenge102 + where + +isPerfectSquare :: Int -> Bool +isPerfectSquare n = root == ( fromIntegral $ floor root ) + where + root = sqrt $ fromIntegral n + +isRare :: Int -> Bool +isRare n = isPerfectSquare ( n + reversed ) && isPerfectSquare (n - reversed ) +where + reversed :: Int + reversed = read $ reverse $ show n + +solution :: Int -> [Int] +solution size = filter isRare [ 10 ^ ( size - 1 ) .. (10 ^ size) - 1] |
