UNPKG

collatz-utils

Version:

Utility functions for Collatz conjecture operations

30 lines (27 loc) 629 B
const collatz = require("collatz-compute"); /** * Returns how many steps it takes for `n` to reach 1 under Collatz rules. */ function collatzSteps(n) { let steps = 0; while (n !== 1) { n = collatz(n); steps++; } return steps; } /** * Returns true if `n` is a valid candidate for Collatz sequence (i.e. not 1). */ function isCollatzCandidate(n) { return n !== 1; } /** * Applies the Collatz rule `count` times to `n`, and returns the result. */ function applyCollatzNTimes(n, count) { while (count-- > 0) { n = collatz(n); } return n; }