diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 23:31:20 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 23:31:20 +0000 |
| commit | 6d4ef8ee0e1e906afa378471fda0753f63408dbc (patch) | |
| tree | 90aa6fec46df756c2073e2f96d32de15bf339db7 | |
| parent | db6e266767957e5d14fb5c6e50fa501bf0854470 (diff) | |
| download | perlweeklychallenge-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.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] |
