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