Напечатать к-ую цифру Фибоначчи - C#
Формулировка задачи:
Дано натуральное число k, напечатать k-ю цифру последовательности 1123581321 ..., в которой вписаны все подряд числа Фибоначчи.
Решение задачи: «Напечатать к-ую цифру Фибоначчи»
textual
Листинг программы
using System; using System.Diagnostics; namespace ConsoleApplication13 { internal class Program { private static Int64 Fib(int n) { return n > 1 ? Fib(n - 1) + Fib(n - 2) : n; } private static Int64 Fibonacci(int n) { Int64 fib_n_2 = 0, fib_n_1 = 1; if (n == 1) return 0; if (n == 2) return 1; for (int i = 1; i < n; i++) { var temp = fib_n_1; fib_n_1 += fib_n_2; fib_n_2 = temp; } return fib_n_1; } private static void Main() { const int iters = 50; var sw = new Stopwatch(); sw.Start(); Console.WriteLine(Fibonacci(iters)); long sw1 = sw.ElapsedTicks; Console.WriteLine(sw1); sw.Restart(); Console.WriteLine(Fib(iters)); long sw2 = sw.ElapsedTicks; Console.WriteLine(sw2); Console.WriteLine("Итеративный метод быстрее в {0} раз", sw2/sw1); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д