My omnium-gatherom of scripts and source code.
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}