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 fib_num(int number);

int main(void) {
	int n		= 0;
	int result	= 0;
	scanf("%d\n", &n );
	
	result = fib_num(n);
	
	printf("%d\n",result);
	
	return 0;
}

int fib_num(int number) {
	static int arr[45] = {};
	static int i = 0;
	
	if ( number < 0 ) {
		printf("error\n");
		return -1;
	}
	


	if ( i == number && i > 1) {
	    arr[i] = fib_num(number);
	}
	
	if ( arr[number] > 0) {
	    return arr[i];
	}
	
	if ( number <= 1) {
		arr[0] = 1;
		arr[1] = 1;
		i++;
		return 1;
	}
	
	
	return fib_num( number -2 ) + fib_num( number - 1 );
}