Sha256: 3b197f0ccc6487261dd07c877a260007df9d189766467186fc6817427ce5d1a3

Contents?: true

Size: 420 Bytes

Versions: 131

Compression:

Stored size: 420 Bytes

Contents

module CollatzConjecture
  ( collatz
  ) where

import Prelude
import Data.Int (even)
import Data.Maybe (Maybe(..))

collatzHelper :: Int -> Int -> Int
collatzHelper acc x | x == 1    = acc
                    | even x    = collatzHelper (acc + 1) (x / 2)
                    | otherwise = collatzHelper (acc + 1) (x * 3 + 1)

collatz :: Int -> Maybe Int
collatz x = if x <= 0 then Nothing else Just $ collatzHelper 0 x

Version data entries

131 entries across 131 versions & 1 rubygems

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