Skip to main content

fibonacci_fast

Function fibonacci_fast 

Source
pub fn fibonacci_fast(n: u32) -> u128
Expand description

n -Fibonachchi soni — O(log n) (“fast doubling”).

Formulalar: F(2k) = F(k)·(2·F(k+1) − F(k)), F(2k+1) = F(k)² + F(k+1)².

Natija u128 da qaytadi — n = 180 gacha bemalol.

§Misol

use rust_algorithms::numbers::{fibonacci, fibonacci_fast};

assert_eq!(fibonacci_fast(10), 55);
assert_eq!(fibonacci_fast(90) as u64, fibonacci(90).unwrap());