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.78 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.77 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.76 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.75 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.74 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.73 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.72 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.71 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.70 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.69 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.68 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.67 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.66 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.65 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.64 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.63 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.62 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.61 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.60 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.59 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm