Тренажер.Рекурсия java


#1

public class Solution {
public static int fact(int num) {
return (num == 0) ? 1 : num * fact(num - 1);
}
}

Где ошибка почему не работает мой код ?


#2

Приветствую.
Хороший вопрос.
У меня взлетело с этим:
public class Solution {
public static int fact(int num) {
if (num == 1){ return 1; }
return num * fact(num - 1);
}
}

думается, ответ кроется в определении факториала,
"Факториал натурального числа n определяется как произведение всех натуральных чисел от 1 до n включительно..."
Хотя формально 0!=1 верно также, это, скорее дань традиции :slight_smile:
Удачи.