Solution 2
This commit is contained in:
parent
681d9bb96d
commit
1bb656ed01
29
src/bin/problem_2.rs
Normal file
29
src/bin/problem_2.rs
Normal 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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user