Function collatz_sequence
Source pub fn collatz_sequence(n: u64) -> Option<Vec<u64>>
Expand description
Returns the full Collatz trajectory from n down to 1.
Returns None when n == 0 or when a checked odd step overflows.
ยงExamples
use use_collatz::collatz_sequence;
assert_eq!(collatz_sequence(6), Some(vec![6, 3, 10, 5, 16, 8, 4, 2, 1]));
assert_eq!(collatz_sequence(0), None);
examples/basic_usage.rs (
line 4)
3fn main() {
4 assert_eq!(collatz_sequence(6), Some(vec![6, 3, 10, 5, 16, 8, 4, 2, 1]));
5 assert_eq!(total_stopping_time(6), Some(8));
6 assert_eq!(parity_vector(1), Some(vec![]));
7
8 let summary = verify_range(1, 10);
9
10 assert_eq!(summary.checked, 10);
11 assert_eq!(summary.max_total_stopping_time, Some((9, 19)));
12}