Здравствуйте, ребята, я хотел бы знать, почему эта отдача умножается
Я действительно Новичок в кодировании и хотел бы знать, почему это происходит:
static void Main(string[] args) { int number = 5; int result = factorial(number); Console.WriteLine(result); } public static int factorial(int number) { if (number ==0 ) { return 1; } else { return number * factorial(number - 1); } }
Что я уже пробовал:
Это простой код, использующий рекурсию для получения факториала, я понимаю оператор "else", который умножается, чтобы получить факториал числа.
Это умножение повторяется до тех пор, пока мы не получим число 0. Поскольку по умолчанию мы записали наш возвращаемый результат для нуля как 1, конечный результат будет умножен на 1.
вопрос в том, почему он получает умножение, так как я не использовал никакого оператора в операторе if?