решить(поделится идеей решения) данной задачи Кубическое уравнение
(Время: 1 сек. Память: 16 Мб Сложность: 56%)
Напишите программу, которая будет искать все целые X, удовлетворяющие уравнению A*X3 + B*X2 + C*X + D = 0, где A, B, C, D – заданные целые коэффициенты.
Входные данные
Во входном файле INPUT.TXT записаны четыре целых числа: A, B, C, D. Все числа по модулю не превышают 2×109.
Выходные данные
В выходной файл OUTPUT.TXT выведите сначала количество различных корней этого уравнения в целых числах, а затем сами корни в возрастающем порядке. Если уравнение имеет бесконечно много корней, то следует вывести в выходной файл одно число -1 (минус один).
Ссылка на сайт: https://acmp.ru/index.asp?main=task&id_task=257
Мой код: https://pastebin.com/ajaexiek
Я ищу делители числа d и по ним отбираю корни, так же я рассмотрел все случаи когда коэффициенты равен(равны) нулю
Проверенные ответы содержат информацию, которая заслуживает доверия. На «Знаниях» вы найдёте миллионы решений, отмеченных самими пользователями как лучшие, но только проверка ответа нашими экспертами даёт гарантию его правильности.
{Задача сделана на языке паскаль, при Оформление сделана как для студенческой задачи
Если есть во пиши в личку
Задача:Написать программу на языке программирования Pascal, которая вводит с клавиатуры 4 числа и выводит результат вычисления спо следующей схеме: "число1"−"число2"/"число3"+"число4"
Автор:
Дата: }
var x1, x2, x3, x4: integer;
f:real;
begin
//Ввод
writeln('введите 1 число');
readln(x1);
writeln('введите 2 число');
readln(x2);
writeln('введите 3 число');
readln(x3);
writeln('введите 4 число');
readln(x4); //решение
f:=(x1-x2)/(x3+x4);
//вывод
writeln (f);
end.
Для того, чтобы определить какое значение будет принимать переменная Х, после выполнения фрагмента исходной программы, пройдем по этой программе вручную следующим образом:
1) а: =4, b: = 5, с: = 3.
2) If a > b then x: = a + b
4 > 5 - не верно, значит переходим на следующий шаг программы после ключевого слова else:
3) else begin
a: = b + c = 5 + 3 = 8; получили, что значение a теперь равняется 8.
x:= а - 3 * b = 8 - 3 * 5 = 8 - 15 = -7.
4) Поскольку следующим идет команда end, значит программа завершает и получаем значение x: = -7.
Таким образом правильный вариант ответа - г).
Объяснение: