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.119 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.118 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.117 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.116 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.115 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.114 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.113 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.111 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.110 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.109 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.108 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.107 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.106 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.105 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.104 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.103 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.102 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.101 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.100 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm
trackler-2.2.1.99 tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm