Sha256: 404602ead24d184d255da8f3b130949a9a010c1e93324d9c5f3e3e202cc21047

Contents?: true

Size: 355 Bytes

Versions: 145

Compression:

Stored size: 355 Bytes

Contents

module CollatzConjecture (collatz) where

collatzHelper :: Integer -> Integer -> Maybe Integer
collatzHelper t x | x == 1    = Just t
                  | even x    = collatzHelper (t+1) (x `div` 2)
                  | otherwise = collatzHelper (t+1) (x*3 + 1)

collatz :: Integer -> Maybe Integer
collatz x = if x <= 0 then Nothing else collatzHelper 0 x

Version data entries

145 entries across 145 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.179 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.178 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.177 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.176 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.175 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.174 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.173 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.172 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.171 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.170 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.169 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.167 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.166 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.165 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.164 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.163 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.162 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.161 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs
trackler-2.2.1.160 tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs