public void Operacion_Fibonacci(ref Cls_DAL_Fibonacci Obj_Datos)
        {
            //Obj_Datos.iNumero1 = 0;
            //Obj_Datos.iNumero2 = 1;

            //for (int i = 0; i < Obj_Datos.iLimite; i++)
            //{
            //    Obj_Datos.iSumatoria = Obj_Datos.iNumero1;
            //    Obj_Datos.iNumero1 = Obj_Datos.iNumero2;
            //    Obj_Datos.iNumero2 = Obj_Datos.iSumatoria + Obj_Datos.iNumero2;
            //}
            int[] aArreglo = new int[1];
            Obj_Datos.aDatos = new int[1];

            Array.Resize(ref aArreglo, Obj_Datos.iLimite);

            aArreglo[0] = 0;
            aArreglo[1] = 1;

            for (int i = 2; i < Obj_Datos.iLimite; i++)
            {
                aArreglo[i] = aArreglo[i - 1] + aArreglo[i - 2];

                Obj_Datos.aDatos = aArreglo;
            }
        }
예제 #2
0
        public string Calculo_Fibonacci(int iValor)
        {
            Cls_DAL_Fibonacci Obj_Dato_DAL = new Cls_DAL_Fibonacci();
            Cls_BLL_Fibonacci Obj_Dato_BLL = new Cls_BLL_Fibonacci();

            if (iValor <= 0)
            {
                Obj_Dato_DAL.sMsj = "Error, debe ingresar un valor";
                iResultado        = Obj_Dato_DAL.sMsj;
            }
            else
            {
                Obj_Dato_DAL.iLimite = iValor;
                Obj_Dato_BLL.Operacion_Fibonacci(ref Obj_Dato_DAL);
                iResultado = String.Join(",", Obj_Dato_DAL.aDatos.Select(p => p.ToString()).ToArray());
            }

            return(iResultado);
        }