summaryrefslogtreecommitdiff
path: root/rust/grains/src/lib.rs
blob: 9caa693788b78b006a56571551a414de5cd6e8ed (plain)
1
2
3
4
5
6
7
8
9
10
pub fn square(s: u32) -> u64 {
    match s {
        1..=64 => 2_u64.pow(s-1),
        _ => panic!("Square must be between 1 and 64")
    }
}

pub fn total() -> u64 {
    (1..=64).map(square).sum()
}