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:
public int Fibonacci(int x)
{
if (x <= 1)
return 1;
return Fibonacci(x - 1) + Fibonacci(x - 2);
}
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:
Func fib = null;
fib = n => n > 1 ? fib(n - 1) + fib(n - 2) : n;
for (int c = 0; c < 10; c++)
{
Console.WriteLine(String.Format("{0}= {1}", c, fib(c)));
}
Currently rated 4.0 by 2 people
- Currently 4/5 Stars.
- 1
- 2
- 3
- 4
- 5