Feb
26

Acho que todo mundo, quando está aprendendo algoritmos, sempre faz um exercício para calcular a seqüência do Fibonacci. Um algoritmo padrão em C# seria:

   1: public int Fibonacci(int x)
   2: {
   3:     if (x <= 1)
   4:         return 1;
   5:     return Fibonacci(x - 1) + Fibonacci(x - 2);
   6: }

 

Mas como seria um algoritmo usando os recursos do C# 3.0? No blog do Scott Hanselman's, achei nesse post, implementações em várias linguagens, veja como fica no C# 3.0:

   1: Func<int, int> fib = null;
   2: fib = n => n > 1 ? fib(n - 1) + fib(n - 2) : n;
   3:  
   4: for (int c = 0; c < 10; c++)
   5: {
   6:     Console.WriteLine(String.Format("{0}= {1}", c, fib(c)));
   7: }

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

.NET

Tags: ,

Comments

Add comment


 

  Country flag

biuquote
Loading



Search


Novidades no seu e-mail


Recent posts

Recent comments

Designer Original Binary Bonsai | Adaptado para MagoDigital | BlogEngine.NET