Нам задали такое задание:
import java.util.Scanner;
public class task {
// вычисляет: 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 int abs(int d) // Возвращает модуль числа
{ return d > 0 ? d : -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 = 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++;
}
}
}