Вопрос 1Рекурсивная функция java
Напишите рекурсивную функцию, которая возвращает произведение четных чисел между 1 и n.
public static void main(String[] args) {
for (int n=0; n<10; n++)
{
System.out.println("f("+n+") = "+fact(n));
}
}
public static int fact(int number)
{
if(number==2)
return 1;
else
{
if(number%2==0)
return number*fact(number-1);
else
{
return fact(number-1);
}
}
}
Не знаю, где я здесь делаю неправильно. Пожалуйста, помогите .. спасибо.
Если у вас есть проблемы с вашим кодом, объясните, что именно происходит. Вы получаете ошибку компилятора? Или исключение? Является ли результат неправильным? – Tom
Вопрос не описывает факт, а другую проблему. Вы код больше похож на facturation. Вы просто будете делать возвращаемый номер * факт (номер-2); Начальное значение числа == 2 равно 2 не одному. Затем вам нужно решить, хотите ли вы вообще принимать нечетные числа и настроить петли. – eckes