get_collatz_sequence

Function get_collatz_sequence 

Source
pub fn get_collatz_sequence(number: u64) -> Vec<u64>
Expand description

Returns the Collatz sequence of the given number.

ยงExamples

let number = 13;
let answer = jabba_lib::jmath::get_collatz_sequence(number);

assert_eq!(answer, vec![13, 40, 20, 10, 5, 16, 8, 4, 2, 1]);
Examples found in repository?
examples/math.rs (line 23)
3fn main() {
4    let number = 101;
5    println!("{} is palindrome: {}", number, jmath::is_palindrome(number));
6    let number = 1977;
7    println!("{} is palindrome: {}", number, jmath::is_palindrome(number));
8
9    println!("{} is prime: {}", number, jmath::is_prime(number as u64));
10
11    println!("The first ten prime numbers:");
12    let mut primes = jmath::Primes::new();
13    for _ in 0..10 {
14        println!("{}", primes.next().unwrap());
15    }
16    println!("---");
17    let v = jmath::get_primes_below(12);
18    println!("{:?}", v);
19    println!("---");
20    println!("divisors of 28: {:?}", jmath::get_divisors(28));
21    println!("---");
22    let n = 13;
23    let seq = jmath::get_collatz_sequence(n);
24    println!(
25        "Collatz sequence of {}: {}",
26        n,
27        seq.iter()
28            .map(|x| x.to_string())
29            .collect::<Vec<_>>()
30            .join(" -> ")
31    );
32    println!("---");
33    println!("5! = {}", jmath::factorial(5));
34    println!("---");
35    let n = 33;
36    println!("{}! = {}", n, jmath::factorial_bigint(n));
37}