Возникли проблемы с рекурсивными методами в C#. При компиляции он должен просто отображать полное sumUpToo всего числа для данного int, то есть - вход 10 - выход 55 (10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0)Проблемы с рекурсивными методами в C#
Im не в состоянии найти какую-либо информацию в любом месте, поэтому, если у кого-то есть ссылка на сайт, который может научить меня, как пройти через него, будем очень благодарны.
class Program
{
static void Main(string[] args)
{
public static int sum(int x)
{
Console.WriteLine("num");
x = Console.ReadLine();
int sum = 0, i = 0;
for (i = 0; i <= x; i++)
{
sum = sum + i;
}
Console.WriteLine("{0}", sum);
}
public static int recursivesum(int x)
{
if (x <= 1)
Console.WriteLine("{0}", x);
else
(x + Recursivesum(x - 1));
}
Редактировать * Это корректировка, кажется, работает нормально сейчас, если я не ошибаюсь. Спасибо за помощь
class Program
{
static void Main(string[] args)
{
int x;
Console.Write("Please enter an integer value to sum up to: ");
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("The sum of all numbers up to and including {0} is {1}",x, recursivesum(x));
}
public static int sum(int x)
{
int sum = 0, i = 0;
for (i = 0; i <= x; i++)
{
sum = sum + i;
}
return sum;
}
public static int recursivesum(int x)
{
if (x <= 1)
return x;
else
return x + recursivesum(x-1);
}
}
}
См http://stackoverflow.com/questions/9831790/having-trouble-with -recursive-methods-in-c-sharp;) –
Пожалуйста, отправьте код, который на самом деле * компилирует * - в настоящее время ваш метод называется recursivesum, но вы называете его как Recursivesum ... и вы его вообще не называете * в вашем 'Main'. –
Это помогает рассказать нам, что он выводит сейчас. –