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