aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-03-07 23:31:20 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-03-07 23:31:20 +0000
commit6d4ef8ee0e1e906afa378471fda0753f63408dbc (patch)
tree90aa6fec46df756c2073e2f96d32de15bf339db7
parentdb6e266767957e5d14fb5c6e50fa501bf0854470 (diff)
downloadperlweeklychallenge-club-6d4ef8ee0e1e906afa378471fda0753f63408dbc.tar.gz
perlweeklychallenge-club-6d4ef8ee0e1e906afa378471fda0753f63408dbc.tar.bz2
perlweeklychallenge-club-6d4ef8ee0e1e906afa378471fda0753f63408dbc.zip
- Added Haskell solution by Ulrich Rieke.
-rw-r--r--challenge-102/ulrich-rieke/haskell/ch-1.hs16
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]