Sha256: 9ec9c725b599554395197e3741e91689b91e1914661dad8534bc0ed3dca8267e

Contents?: true

Size: 297 Bytes

Versions: 71

Compression:

Stored size: 297 Bytes

Contents

def collatz_steps(n):
    if n <= 0:
        raise ValueError("input should be positive")

    step_count = 0
    while n > 1:
        if is_odd(n):
            n = n * 3 + 1
        else:
            n = n / 2
        step_count += 1

    return step_count


def is_odd(n):
    return n % 2 == 1

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.179 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.178 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.177 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.176 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.175 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.174 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.173 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.172 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.171 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.170 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.169 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.167 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.166 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.165 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.164 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.163 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.162 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.161 tracks/python/exercises/collatz-conjecture/example.py
trackler-2.2.1.160 tracks/python/exercises/collatz-conjecture/example.py