Предмет: Информатика, автор: gxtsu

C++
Диофантово уравнение
Даны числа a
, b, c, d. Выведите в порядке возрастания все целые числа от 0 до 1000 включительно, которые являются корнями уравнения a⋅x3+b⋅x2+c⋅x+d=0
Входные данные
Вводятся целые числа a
, b, c и d. Все числа не превосходят по модулю 30000

Выходные данные

Выведите ответ к задаче. Если в указанном промежутке нет корней уравнения, то ничего выводить не нужно.
Примеры
Ввод:
-1
1
-1
1

1
1
1
1
Вывод:
1

Ответы

Автор ответа: leprekon882
0

#include <iostream>

#include <cmath>

using namespace std;

int main() {

int a, b, c, d;

cin >> a >> b >> c >> d;

if (a > 30000 || b > 30000 || c > 30000 || d > 30000) {

cout << "Числа не должны превышать 30000!" << endl;

return 1; // завершение программы с ошибкой

}

for (int x = 0; x <= 1000; x++) { // перебор всех целых чисел от 0 до 1000

if (a*pow(x, 3) + b*pow(x, 2) + c*x + d == 0) { // проверка, является ли x корнем уравнения

cout << "Вывод: "<<x << endl; // вывод x на экран

}

}

return 0;

}

Похожие вопросы
Предмет: Математика, автор: elenanikolaevna1705
Предмет: Алгебра, автор: timamotcnyj
Предмет: Английский язык, автор: kovalskaadriana19