コード例 #1
0
        public static Int32 FindDivisorWithoutReminder(this Int32 search_origin,Int32 dividend, ForwardBackwardDirection direction)
        {
            var r = 0;

            dividend.DivRem(search_origin, out r);

            if (r == 0)
                return search_origin;

            if (direction == ForwardBackwardDirection.Forward)
                return FindNextDivisorWithoutReminder(dividend, search_origin);
            else
                return FindPreviousDivisorWithoutReminder(dividend, search_origin);
        }
コード例 #2
0
        public static Int32 FindEvenNumber(this Int32 search_origin, ForwardBackwardDirection direction)
        {
            var r = 0;

            search_origin.DivRem(2, out r);

            if (r == 0)
                return search_origin;

            if (direction == ForwardBackwardDirection.Forward)
                return search_origin + 1;
            else
                return search_origin - 1;

        }
コード例 #3
0
        public static Int32 FindOddNumber(this Int32 search_origin, ForwardBackwardDirection direction)
        {
            var r = 0;

            search_origin.DivRem(2, out r);

            if (r == 1 || r == -1)
                return search_origin;

            if (direction == ForwardBackwardDirection.Forward)
            {
                return search_origin + 1;
            }
            else
            {
                return search_origin - 1;
            }

        }