@alexeidilos

Найти корни уравнения с помощью рекурсии. Возможно ли?

63753575aa353858285360.png

Мне нужно преобразовать код таким образом, чтобы в нём была рекурсия. Каким образом это можно сделать?
Подскажите как можно написать или алгоритм.

Благодарю за внимание.
Код:
public class task3 {
    // вычисляет: ax^3 + bx^2 + cx + d с коэффициентами и иксом ↓
    public static int f(int a, int b, int c, int d, int x)
    {return (a * x * x * x) + (b * x * x) + (c * x) + d; }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Коэффициенты уравнения
        System.out.println("Введите a, b, c, d");
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        int d = scanner.nextInt();

        if(a == 0 || d == 0){
            System.out.println("a и d не должны быть равны нулю!");
            return;
        }
        int i = 1;
        int iters = Math.abs(d)/2;

        // пока счётчик меньше половины d
        while (i <=  iters ) {
            // если счётчик является делителем d
            if (d % i == 0) {
                if (f(a, b, c, d, i) == 0) // и в то же время является корнем уравнения
                { System.out.println("Положительный корень: " + i); }
                if (f(a, b, c, d, -i) == 0) // если противоположное число тоже является корнем
                {System.out.println("Отрицательный корень: " + -i); }
            }
            i++;
        }
    }
}
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Поскольку любая итерация может быть переписана через рекурсию, то ответ - да.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы