private const double phi = (1 + 2.2360679774997896964091736687312) / 2;
public static void Main()
Console.WriteLine(FindFibWithBinetFormula(26));
Console.WriteLine(FindFibDynamically(26));
private static double FindFibWithBinetFormula(int n)
return Math.Round(Math.Pow(phi, n) / Math.Sqrt(5));
private static int FindFibDynamically(int n)
for (var i = 3; i <= n; i++)
cache[i % 2] = cache[0] + cache[1];