Solution 2

This commit is contained in:
Fabian Schmidt 2024-09-16 12:42:55 +02:00
parent 681d9bb96d
commit 1bb656ed01

29
src/bin/problem_2.rs Normal file
View File

@ -0,0 +1,29 @@
fn main() {
let result = fibonacci_even_sum(4_000_000);
println!("Result: {}", result);
}
fn fibonacci_even_sum(limit: i64) -> i64 {
let mut previous = (1, 2);
let mut sum = 2;
while previous.0 + previous.1 < limit {
previous = (previous.1, previous.0 + previous.1);
if previous.1 % 2 == 0 {
sum += previous.1;
}
}
return sum;
}
#[cfg(test)]
mod tests {
use crate::fibonacci_even_sum;
#[test]
fn it_works() {
let result = fibonacci_even_sum(100);
assert_eq!(result, 44);
}
}