C sharp - Arreglo llenado con Recursividad

   
Vista:

Arreglo llenado con Recursividad

Publicado por Alexa shitzudupri@hotmail.com (2 intervenciones) el 21/02/2016 21:37:53
Buenas tardes:
Tengo una pregunta como puedo llenar un arreglo con la sucesion fibonacci, por medio de recursividad., en C#
De antemano
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Arreglo llenado con Recursividad

Publicado por Thanatos (8 intervenciones) el 23/02/2016 11:04:51
Esto podría servirte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
 
namespace Fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            uint[] numeros = new uint[0];
            uint cantidad = 0;
 
            Console.Write("Ingrese la cantidad de elementos de la secuencia:\ncantidad = ");
 
            if (UInt32.TryParse(Console.ReadLine(), out cantidad) && cantidad <= 48)
            {
                Array.Resize(ref numeros, numeros.Length + (int)cantidad);
                Fibonacci(ref numeros, cantidad);
            }
            else
            {
                Console.WriteLine("\n    * Se esperaba un entero positivo <= 48 *");
            }
 
            foreach (uint fibo in numeros)
            {
                Console.Write("{0}  ", fibo);
            }
            Console.WriteLine();
        }
 
        private static uint Fibonacci(ref uint[] numeros, uint cantidad, uint fibo = 0, uint siguiente = 1)
        {
            if (cantidad == 0)
            {
                return 0;
            }
 
            numeros[numeros.Length - cantidad] = fibo;
 
            return Fibonacci(ref numeros, cantidad - 1, siguiente, fibo + siguiente);
        }
    }
}

El límite máximo de 48 elementos, se debe a la capacidad máxima del tipo de dato uint. El elemento 49 sobrepasa esa capacidad y a partir de éste los resultados no son los esperados. Si necesitas obtener elementos de mayor valor, utiliza un tipo de dato que soporte un rango más amplio, como long, ulong, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar