Sha256: 74c304db68f97abedb2c0aa4eabd35f171364823455c62b0101e442f2bd1b970

Contents?: true

Size: 451 Bytes

Versions: 134

Compression:

Stored size: 451 Bytes

Contents

module CollatzConjecture exposing (collatz)


collatz : Int -> Result String Int
collatz start =
    if start <= 0 then
        Err "Only positive numbers are allowed"
    else
        Ok (collatzHelper 0 start)


collatzHelper : Int -> Int -> Int
collatzHelper steps start =
    if start == 1 then
        steps
    else if start % 2 == 0 then
        collatzHelper (1 + steps) (start // 2)
    else
        collatzHelper (1 + steps) (3 * start + 1)

Version data entries

134 entries across 134 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.138 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.137 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.136 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.135 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.134 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.133 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.132 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.131 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.130 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.129 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.128 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.127 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.126 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.125 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.124 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.123 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.122 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.121 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.120 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm