Даны числа a, b, c, d. Выведите в порядке возрастания все целые числа от 0 до 1000, которые являются корнями уравнения a∗x3+b∗x2+c∗x+d=0. Входные данные
Вводятся целые числа a, b, c и d. Все числа не превосходят по модулю 30000.
Выходные данные
Выведите ответ на задачу. Если в указанном промежутке нет корней уравнения, то ничего выводить не нужно.
#include
#include
using namespace std;
int main()
{
int a, b, c, d, i;
cin >> a >> b >> c >> d;
for (i = 0; i <= 1000; i += 1)
{
if ((a * pow(i,3)) + (b * pow(i, 2)) + (c * i) + d == 0)
{
cout << i;
}
}
}
Что не так с кодом?
использовать Чертежник
алг
нач
| 1
сместиться на вектор (1,3)
опустить перо
сместиться на вектор (2,2)
сместиться на вектор (0,-4)
поднять перо
| 2
сместиться на вектор (1,3)
опустить перо
сместиться на вектор (0,1)
сместиться на вектор (2,0)
сместиться на вектор (0,-2)
сместиться на вектор (-2,-2)
сместиться на вектор (2,0)
поднять перо
| 3
сместиться на вектор (1,4)
опустить перо
сместиться на вектор (2,0)
сместиться на вектор (-2,-2)
сместиться на вектор (2,0)
сместиться на вектор (-2,-2)
поднять перо
| 4
сместиться на вектор (3,4)
опустить перо
сместиться на вектор (0,-2)
сместиться на вектор (2,0)
поднять перо
сместиться на вектор (0,2)
опустить перо
сместиться на вектор (0,-4)
поднять перо
| 5
сместиться на вектор (3,4)
опустить перо
сместиться на вектор (-2,0)
сместиться на вектор (0,-2)
сместиться на вектор (2,0)
сместиться на вектор (0,-2)
сместиться на вектор (-2,0)
поднять перо
| 6
сместиться на вектор (5,4)
опустить перо
сместиться на вектор (-2,-2)
сместиться на вектор (0,-2)
сместиться на вектор (2,0)
сместиться на вектор (0,2)
сместиться на вектор (-2,0)
поднять перо
| 7
сместиться на вектор (3,2)
опустить перо
сместиться на вектор (2,0)
сместиться на вектор (-2,-4)
поднять перо
| 8
сместиться на вектор (3,2)
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (2,0)
сместиться на вектор (0,-4)
сместиться на вектор (-2,0)
сместиться на вектор (0,2)
сместиться на вектор (2,0)
поднять перо
| 9
сместиться на вектор (1,-2)
опустить перо
сместиться на вектор (2,2)
сместиться на вектор (0,2)
сместиться на вектор (-2,0)
сместиться на вектор (0,-2)
сместиться на вектор (2,0)
поднять перо
сместиться на вектор (-27,-3)
кон
x,y,rast:array [1..100] of Integer ;
n:Integer;
function maxrast(n:Integer;x,y:array [1..100] of integer): real;
var i,j:integer;
max:real;
begin
for i:=1 to n do
for j:=1 to n do
if sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]))>max then
max:= sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
maxrast:=max;
end;
procedure vvod(n:Integer);
var i:integer;
begin
for
i:=1 to n do
begin
WriteLn('Введите координату x ',i,' отрезка');
ReadLn(x[i]);
WriteLn('Введите координату y ',i,' отрезка');
ReadLn(y[i]);
end;
end;
begin
Writeln('Введите количество точек');
ReadLn(n);
vvod(n);
Writeln('Длина наибольшего отрезка составленного из заданных точек = ',maxrast(n,x,y));
end.