summaryrefslogtreecommitdiff
path: root/rust/difference-of-squares/src/lib.rs
blob: fa4847c1e228c5071b9ca2ec26b834006150920a (plain)
1
2
3
4
5
6
7
8
9
10
11
pub fn square_of_sum(n: u32) -> u32 {
    (1..=n).fold(0, |a,b| a+b).pow(2)
}

pub fn sum_of_squares(n: u32) -> u32 {
    (1..=n).fold(0, |a,b| a+b.pow(2))
}

pub fn difference(n: u32) -> u32 {
    square_of_sum(n) - sum_of_squares(n)
}