Я только что изучал концепцию рекурсии, и я подумал, что попробую простой пример. В следующем коде я пытаюсь взять числа: 1, 2, 3, 4, 5 и добавить их вместе, используя рекурсию. Я ожидал, что результат будет равен 15, но мой код возвращается 16.
Что я делаю неправильно?
Код:
static void Main(string[] args)
{
Console.WriteLine(Sum(5));
Console.Read();
}
static int Sum(int value)
{
if (value > 0)
{
return value + Sum(value - 1);
}
else
{
return 1;
}
}