Sha256: 545289d082939e4d5ac820b8a61ece2ff1b98f369efc527397646e28be92bfa0
Contents?: true
Size: 403 Bytes
Versions: 67
Compression:
Stored size: 403 Bytes
Contents
pub fn collatz_positive(n: u64) -> u64 { if n == 1 { 0 } else { 1 + match n % 2 { 0 => collatz_positive(n / 2), _ => collatz_positive(n * 3 + 1) } } } // return Ok(x) where x is the number of steps required to reach 1 pub fn collatz(n: u64) -> Option<u64> { if n < 1 { None } else { Some(collatz_positive(n)) } }
Version data entries
67 entries across 67 versions & 1 rubygems