Sha256: 24e6fb80cf0ded4ce4cd7b1260270993f7375b0e5585f9776f20f4b07567db81

Contents?: true

Size: 451 Bytes

Versions: 65

Compression:

Stored size: 451 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) -> Result<u64, &'static str> {
    if n < 1 {
        Err("Only positive numbers are allowed")
    } else {
        Ok(collatz_positive(n))
    }
}

Version data entries

65 entries across 65 versions & 1 rubygems

Version Path
trackler-2.2.1.70 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.69 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.68 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.67 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.66 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.65 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.64 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.63 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.62 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.61 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.60 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.59 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.58 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.57 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.56 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.55 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.54 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.53 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.52 tracks/rust/exercises/collatz-conjecture/example.rs
trackler-2.2.1.51 tracks/rust/exercises/collatz-conjecture/example.rs