Question: (Research Project: Improving the Recursive Fibonacci Implementation) The recursive algorithm we used to calculate Fibonacci numbers was intuitively appealing. However, recall that the algorithm resulted in the exponential explosion of recursive function calls. Research the recursive Fibonacci implementation online. Study the various approaches, including the iterative version in Exercise and versions that use only so-called "tail recursion." Discuss the relative merits of each.
Exercise: (Fibonacci) The Fibonacci series 0, 1, 1, 2, 3, 5, 8, 13, 21, ... begins with the terms 0 and 1 and has the property that each succeeding term is the sum of the two preceding terms. a) Write a nonrecursive function fibonacci(n) that calculates the nth Fibonacci number. Use unsigned int for the function's parameter and unsigned long long int for its return type. b) Determine the largest Fibonacci number that can be printed on your system.