diff --git a/src/one.rs b/src/one.rs index ce9f2df..8eaa076 100644 --- a/src/one.rs +++ b/src/one.rs @@ -1,10 +1,17 @@ use crate::{GlobalArgs, Problem}; #[derive(clap::Parser)] -pub struct Args {} +pub struct Args { + #[clap(default_value = "1000")] + pub until: u64, +} impl Problem for Args { + // We could derive it mathematically, ... or write a dump loop fn solve(self, _: GlobalArgs) -> color_eyre::Result<()> { - todo!() + let sum: u64 = (0..self.until).filter(|x| x % 3 == 0 || x % 5 == 0).sum(); + println!("Sum of 0..{}: {}", self.until, sum); + + Ok(()) } }