My omnium-gatherom of scripts and source code.
at main 17 lines 366 B view raw
1fn collatz(n: u64, count: &mut u64) -> u64 { 2 *count += 1; 3 match n { 4 0 => std::process::exit(1), 5 1 => 1, 6 n if n % 2 == 0 => collatz(n / 2, count), 7 _ => collatz(n * 3 + 1, count), 8 }; 9 *count - 1 10} 11 12fn main() { 13 for i in 1..1001 { 14 let mut count: u64 = 0; 15 println!("{}", collatz(i, &mut count)); 16 } 17}