From 45530375a9515ac2b4091ffe277221f9380e68f2 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 31 May 2024 23:42:26 +0200 Subject: Sovle grains --- rust/grains/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 rust/grains/src/lib.rs (limited to 'rust/grains/src/lib.rs') diff --git a/rust/grains/src/lib.rs b/rust/grains/src/lib.rs new file mode 100644 index 0000000..9caa693 --- /dev/null +++ b/rust/grains/src/lib.rs @@ -0,0 +1,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() +} -- cgit v1.2.3