summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust/difference-of-squares/src/lib.rs6
-rw-r--r--rust/difference-of-squares/tests/difference-of-squares.rs8
2 files changed, 3 insertions, 11 deletions
diff --git a/rust/difference-of-squares/src/lib.rs b/rust/difference-of-squares/src/lib.rs
index fdf2e93..fa4847c 100644
--- a/rust/difference-of-squares/src/lib.rs
+++ b/rust/difference-of-squares/src/lib.rs
@@ -1,11 +1,11 @@
pub fn square_of_sum(n: u32) -> u32 {
- todo!("square of sum of 1...{n}")
+ (1..=n).fold(0, |a,b| a+b).pow(2)
}
pub fn sum_of_squares(n: u32) -> u32 {
- todo!("sum of squares of 1...{n}")
+ (1..=n).fold(0, |a,b| a+b.pow(2))
}
pub fn difference(n: u32) -> u32 {
- todo!("difference between square of sum of 1...{n} and sum of squares of 1...{n}")
+ square_of_sum(n) - sum_of_squares(n)
}
diff --git a/rust/difference-of-squares/tests/difference-of-squares.rs b/rust/difference-of-squares/tests/difference-of-squares.rs
index 672faae..65c4acb 100644
--- a/rust/difference-of-squares/tests/difference-of-squares.rs
+++ b/rust/difference-of-squares/tests/difference-of-squares.rs
@@ -6,49 +6,41 @@ fn square_of_sum_1() {
}
#[test]
-#[ignore]
fn square_of_sum_5() {
assert_eq!(225, squares::square_of_sum(5));
}
#[test]
-#[ignore]
fn square_of_sum_100() {
assert_eq!(25_502_500, squares::square_of_sum(100));
}
#[test]
-#[ignore]
fn sum_of_squares_1() {
assert_eq!(1, squares::sum_of_squares(1));
}
#[test]
-#[ignore]
fn sum_of_squares_5() {
assert_eq!(55, squares::sum_of_squares(5));
}
#[test]
-#[ignore]
fn sum_of_squares_100() {
assert_eq!(338_350, squares::sum_of_squares(100));
}
#[test]
-#[ignore]
fn difference_1() {
assert_eq!(0, squares::difference(1));
}
#[test]
-#[ignore]
fn difference_5() {
assert_eq!(170, squares::difference(5));
}
#[test]
-#[ignore]
fn difference_100() {
assert_eq!(25_164_150, squares::difference(100));
}