From 312bd6e1c03352cdd6fdb184d8ef13b11414f729 Mon Sep 17 00:00:00 2001 From: Joey Pollack Date: Wed, 26 Nov 2025 17:07:59 -0500 Subject: [PATCH] Day 0 solver prints out 50 Fibonacci numbers --- crates/day_0/src/day_0.rs | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/crates/day_0/src/day_0.rs b/crates/day_0/src/day_0.rs index 4a67135..1cf31ab 100644 --- a/crates/day_0/src/day_0.rs +++ b/crates/day_0/src/day_0.rs @@ -22,7 +22,9 @@ impl Solver for Day0 fn solve(&mut self, _input: String) -> Result { - + let fibs = gen_fib_seq(50, std::i64::MAX / 2); + println!("fib nums:"); + print_fibs(fibs); Ok(0) } @@ -38,4 +40,38 @@ impl Day0 { Day0 {} } +} + +// Helpers +/// stop_after: the number of fib values to generate +/// max_val: the maximum fib value to generate. Forces the function to +/// return even if stop_after is not met. +fn gen_fib_seq(stop_after: i32, max_val: i64) -> Vec +{ + let mut a: i64 = 1; + let mut b: i64 = 1; + let mut nums: Vec = vec![]; + nums.push(a); + for _ in 0..stop_after -1 + { + nums.push(b); + let t = b; + b = a + b; + a = t; + + if b >= max_val + { + break; + } + } + + nums +} + +fn print_fibs(fibs: Vec) +{ + for (i, f) in fibs.iter().enumerate() + { + println!("{}: {}", i + 1, f); + } } \ No newline at end of file