Предмет: Информатика,
автор: 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
Ответы
Автор ответа:
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
Предмет: Биология,
автор: yarmolenko29
Предмет: Информатика,
автор: marino4kaa4ernova
Предмет: Алгебра,
автор: timamotcnyj
Предмет: Английский язык,
автор: kovalskaadriana19