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

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