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)

#define MAX 45

#include <stdio.h>
int fib(int);

int main(int argc, char const *argv[]) {
  int n;

  scanf("%d",&n);

  printf("%d\n",fib(n));

  return 0;
}

int fib (int n){
  int f[MAX] ={0};

  if (n == 0 || n == 1) {
    return f[n] = 1;
  }
  else if (f[n] != 0) {
    return f[n];
  }
  else {
    return f[n] = fib(n-2) + fib(n-1);
  }

}