Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Fibonacci Number

Write a program which prints $n$-th fibonacci number for a given integer $n$. The $n$-th fibonacci number is defined by the following recursive formula:

\begin{equation*}
fib(n)= \left \{
\begin{array}{ll}
1　 & (n = 0) \\
1　 & (n = 1) \\
fib(n - 1) + fib(n - 2) & \\
\end{array}
\right.
\end{equation*}

Input

An integer $n$ is given.

output

Print the $n$-th fibonacci number in a line.

Constraints

$0 \leq n \leq 44$

Sample Input 1

3

Sample Output 1

3

Solution in C (judge verdict: Time Limit Exceeded)

#include<stdio.h>
/*
int fibonacci(int n){
    if(n == 0 || n ==1){
        return 1;
    }
    else {
        return fibonacci(n - 2) + fibonacci(n -1);
    }
}
*/
#define N 45
int F[N];
/*
int fibonacci(int n){
    int i;
    F[0] = 1;
    F[1] = 1; 
    for(i = 2;i <= n;i++){
        F[i] = F[i - 2] + F[i - 1];
    }
    return F[i];
}*/
int fibonacci(int n){
    if(n == 0 || n ==1){
        return F[n] = 1;
    }
    if(F[n] == 1){
        return F[n];
    }
        return F[n] = fibonacci(n - 2) + fibonacci(n -1);
}

int main(){
    int n;

    scanf("%d",&n);
    printf("%d\n",fibonacci(n));

    return 0;
}