예제 #1
0
        public static bool PrimeNumbFilter(int pNumber, EnumResultNumber pSubFilterNumber)
        {
            bool result = false;

            switch (pSubFilterNumber)
            {
            case EnumResultNumber.Prime:

                if ((pNumber % pNumber == 0) && (pNumber % 1 == 0))
                {
                    result = true;
                }

                break;
            }

            return(result);
        }
예제 #2
0
        public static bool OddNumbsFilter(int pNumber, EnumResultNumber pSubFilterNumber = EnumResultNumber.All)
        {
            bool result = false;

            switch (pSubFilterNumber)
            {
            case EnumResultNumber.Even:

                if (pNumber % 2 == 0)
                {
                    result = true;
                }
                break;

            case EnumResultNumber.Odd:

                if (pNumber % 2 != 0)
                {
                    result = true;
                }
                break;

            case EnumResultNumber.All:

                result = true;

                break;

            case EnumResultNumber.Prime:

                result = PrimeNumbFilter(pNumber, pSubFilterNumber);

                break;
            }

            return(result);
        }
        public static int[] FillArray(int pNumA1, int pNumA2, int ArrayLenght = 0, bool random = false, EnumResultNumber pFilterNumber = EnumResultNumber.All)
        {
            int[] mArray = null;
            int   ramNumb = 0, i = 0;

            if (pNumA1 < pNumA2)
            {
                if (random)
                {
                    if (ArrayLenght > 0)
                    {
                        Random ram = new Random();

                        mArray = new int[ArrayLenght];

                        while (i < mArray.Length)
                        {
                            ramNumb = ram.Next(pNumA1, pNumA2);

                            if (ToolBoxUtility.OddNumbsFilter(ramNumb, pFilterNumber))
                            {
                                mArray[i] = ramNumb;
                                i++;
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Se necesita la longitud del array");
                    }
                }
                else
                {
                    i = pNumA1;
                    int cantElement = 0;

                    while (i <= pNumA2)
                    {
                        if (ToolBoxUtility.OddNumbsFilter(i, pFilterNumber))
                        {
                            cantElement++;
                        }

                        i++;
                    }

                    mArray = new int[cantElement];

                    i = 0;

                    while (pNumA1 <= pNumA2)
                    {
                        if (ToolBoxUtility.OddNumbsFilter(pNumA1, pFilterNumber))
                        {
                            mArray[i] = pNumA1;
                            i++;
                        }
                        pNumA1++;
                    }
                }
            }
            else if (pNumA1 > pNumA2)
            {
                mArray = new int[pNumA1];

                i = 0;

                while (pNumA1 > pNumA2)
                {
                    if (ToolBoxUtility.OddNumbsFilter(pNumA1, pFilterNumber))
                    {
                        mArray[i] = pNumA1;
                        pNumA1   -= 1;
                        i++;
                    }
                }
            }

            return(mArray);
        }