/// <summary> /// Реализация рекурсионного метода подсчета суммы и вывода значений в диапазоне введенном пользователем. /// </summary> /// <param name="valueStart">Начальное значение диапазона</param> /// <param name="valueEnd">Конечное значение диапазона</param> /// <param name="summ">Сумма чисел диапазона</param> /// <returns></returns> private static int RecursionAToB(int valueStart, int valueEnd, ref int summ) { if (valueStart == valueEnd) { summ += valueEnd; Console.WriteLine(valueEnd); } else { Console.WriteLine(valueStart); Task7.RecursionAToB(valueStart + 1, valueEnd, ref summ); summ += valueStart; } return(summ); }
/// <summary> /// Метод, предоставляющий интерфейс для ввода данных стартового и конечного числа. /// </summary> public static void ValuesFromAToB() { Console.Write("Добрый день, уважаемый пользователь. Для осуществления работы с рекурсией, пожалуйста, введите 2 числа: "); string[] inputValues = Console.ReadLine().Split(',', ' ').Where(x => x != "").ToArray(); int valueStart = int.Parse(inputValues[0]); int valueEnd = int.Parse(inputValues[1]); int summ = 0; if (valueStart < valueEnd) { Task7.RecursionAToB(valueStart, valueEnd, ref summ); Console.WriteLine("Сумма всех значений: {0}", summ); Console.ReadKey(); } else { Console.WriteLine("Введены некорректные значения. Стартовое значение должно быть меньше конечного!"); Console.ReadKey(); } }