Recursion: Fibonacci Numbers

Sort by

recency

|

303 Discussions

|

  • + 0 comments

    Python - Memoization - Top down approach

    mp = {0:0, 1:1,}
    def fibonacci(n):
        # Write your code here.
        if n == 0:
            return 0
        
        if n == 1:
            return 1
        
        if n not in mp:
            mp[n] = fibonacci(n-1) + fibonacci(n-2)
        
        return mp[n] 
    
  • + 0 comments

    include

    using namespace std;

    int fibonacci(int n) {

    if (n==0||n==1) return n; else return fibonacci(n-1)+fibonacci(n-2); }

    int main() { int n; cin >> n; cout << fibonacci(n); return 0; }

  • + 0 comments

    RUST:

    use std::io;
    
    fn main() {
        let mut input = String::new();
        io::stdin().read_line(&mut input).unwrap_or(0);
        let n = input.trim().parse::<i32>().unwrap_or(0);
        println!("{}", fibonacci(n));
    }
    
    fn fibonacci(n: i32) -> i32 {
        let mut a = 0;
        let mut b = 1;
        for _ in 0..n {
            let temp = a;
            a = b;
            b = temp + b;
        }
        a
    }
    
  • + 0 comments

    def fibonacci(n): a, b = 1, 1 for _ in range(n - 1): a, b = b, a + b return a

  • + 0 comments
    ans = {0,1}
    def fibonacci(n):
        if n <= 1:
            return 1
        c =fibonacci(n-1) + fibonacci(n-2)
        ans.add(c)
        return c
    
    n = int(input())
    fibonacci(n)
    ans = sorted([i for i in ans])
    print(ans[n-1])