# C# Fibonacci Sequence

Compute Fibonacci numbers with an iterative algorithm that uses a for-loop.**Fibonacci.** Nature contains many patterns. Fibonacci numbers are a fascinating sequence. This sequence models and predicts financial markets and natural phenomena.

**Computational methods.** We can compute Fibonacci numbers with recursion. This approach can be slow. It is also possible to use iteration.

**An example.** This is an iterative method. Conceptually, an iterative Fibonacci method stores the result of the previous Fibonacci number before computing the next one.

**Note:** To compute a Fibonacci number at a certain position N, we have to loop through all previous numbers starting at position 0.

**Tip:** If you just want to list Fibonacci numbers, you could change Fibonacci() to simply use Console.WriteLine(a).

**And:** This would make the method print out each number as it is computed, which would reduce the total amount of computation required.

**C# program that computes Fibonacci iteratively**
using System;
class Program
{
public static int __Fibonacci__(int n)
{
int a = 0;
int b = 1;*
// In N steps compute Fibonacci sequence iteratively.
*for (int i = 0; i < n; i++)
{
int temp = a;
a = b;
b = temp + b;
}
return a;
}
static void Main()
{
for (int i = 0; i < 15; i++)
{
Console.WriteLine(Fibonacci(i));
}
}
}
**Output**
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377

**Problem, overflow.** One problem with this implementation is that the int types will overflow past the 47th Fibonacci number. It cannot be used on large numbers.

**Tip:** To solve this problem, you can change Fibonacci() to return double. Also change a, b, and temp to be of type double.

Int, uintDouble**Discussion.** The Fibonacci sequence begins with zero. Fibonacci himself, in 1202, began it with 1, but modern scientists just use his name, not his version of the sequence.

**Tip:** I tested the output of the program and it is correct. I usually try to post correct code.

**Quote:** Fibonacci began the sequence not with 0, 1, 1, 2, as modern mathematicians do but with 1, 1, 2.

Fibonacci: Wikipedia**A summary.** Fibonacci numbers are a useful pattern. But they also teach us about programming. By storing the previous value in a loop iteration, we avoid computational work.

© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.