anton1969026203
?>

Вводятся 5 чисел: a, b, c, d и e. найдите все целые решения уравнения ( ax3 + bx2 + cx + d ) / ( x - e ) = 0 на отрезке [0, 1000] и выведите их количество. примеры входные данные 2 4 9 1 5 выходные данные 0

Информатика

Ответы

sashab82
//Когда Глеб расстроился
//Pascal ABC.NET 3.1 сборка 1256

Var
 a,b,c,d,e:real;
 
procedure cube(a,b,c,d,e:real);
Var
 p,q,delta,phi,i:real;
 y:array[1..3] of real;
begin
p:=(3*a*c-sqr(b))/(3*sqr(a));
q:=(2*power(b,3)-9*a*b*c+27*sqr(a)*d)/(27*power(a,3));
delta:=power(q/2,2)+power(p/3,3);
if delta<0 then
 begin
  if q<0 then
   phi:=arctan(sqrt(-delta)/(-q/2));
  if q>0 then
   phi:=arctan(sqrt(-delta)/(-q/2))+pi;
  if q=0 then
   phi:=pi/2;
  y[1]:=2*sqrt(-p/3)*cos(phi/3);
  y[2]:=2*sqrt(-p/3)*cos(phi/3+(2*pi)/3);
  y[3]:=2*sqrt(-p/3)*cos(phi/3+(4*pi)/3);
  var x:=seq(y[1]-b/(3*a),y[2]-b/(3*a),y[3]-b/(3*a));
  write(x.where(x -> x<>e).where(x -> frac(x)=0).where(x -> x>=0).Where(x -> x<=1000).Distinct.Count);
 end;
if delta>0 then
 begin
  var arsom:=range(0,1000).Where(x->(a*power(x,3)+b*x*x+c*x+d)/(x-e)=0);
  write(arsom.Count);
  {Мы не виноваты, Паскаль не может в комплексные числа}
 end;
if delta=0 then
 begin
  y[1]:=2*power(-q/2,1/3);
  y[2]:=-power(-q/2,1/3);
  var x:=seq(y[1]-b/(3*a),y[2]-b/(3*a));
  write(x.where(x -> x<>e).where(x -> frac(x)=0).where(x -> x>=0).Where(x -> x<=1000).Distinct.Count);
 end;
end;

procedure square(a,b,c,e:real);
Var
 d:real;
begin
d:=sqr(b)-4*a*c;
if d<0 then writeln('0');
if d>0 then
 begin
  var x:=arr((-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
  write(x.where(x -> x<>e).where(x -> frac(x)=0).where(x -> x>=0).Where(x -> x<=1000).Distinct.Count);
 end;
if d=0 then
 begin
  var x:=arr(-b/(2*a));
  write(x.where(x -> x<>e).where(x -> frac(x)=0).where(x -> x>=0).Where(x -> x<=1000).Distinct.Count);
 end;
end;

procedure common(a,b,e:real);
begin
 var x:=arr(-b/a);
 write(x.where(x -> x<>e).where(x -> frac(x)=0).where(x -> x>=0).Where(x -> x<=1000).Distinct.Count);
end;

procedure awfulvar(e:real);
begin
 if (e>=0) and (e<=1000) then writeln('1000') else writeln('1001');
end;

procedure otherawfulvar(e:real);
begin
 if e<>0 then writeln('1') else writeln('0');
end;

begin
read(a,b,c,d,e);
if (a<>0) and (b<>0) then cube(a,b,c,d,e);
if (a=0) and (b<>0) then square(b,c,d,e);
if (a=0) and (b=0) and (c<>0) and (d<>0) then common(c,d,e);
if (a=0) and (b=0) and (c=0) and (d=0) then awfulvar(e);
if (a=0) and (b=0) and (c<>0) and (d=0) then otherawfulvar(e);
if (a=0) and (b=0) and (c=0) and (d<>0) then writeln('0');
end.

Пример ввода:
1
1
1
1
1
Пример вывода:
0
Иванникова736
//Pascal

const
  LOWER = 0; //Нижняя граница
  UPPER = 1000; //Верхняя граница

var
  a, b, c, d, e, x, cnt: integer;

begin
  read(a, b, c, d, e);
  for x := LOWER to UPPER do
    if (a*x*x*x + b*x*x + c*x + d = 0) and (x <> e) then
      inc(cnt);
  writeln(cnt);
end.

Пример ввода:
3
4
2
0
1

Пример вывода:
1
elenabarskova7145

Какой оператор цикла желательно использовать, если известно число повторений тела цикла?

repeat <оператор1, …>until <условие>

while <условие>do <оператор>

for <параметр>:= <начальное значение>to<конечное значение> do<оператор>

2. Используется оператор for i:= -10 to 10 do…

После завершения выполнения тела цикла i = 10

3. Цикл в фрагменте программы

p:=1;

repeat

p:=p*0.1

until p>0.1;

будет исполнен:

1 раз

2 раза

бесконечное число раз

0 раз

3 раза

4. Цикл в фрагменте программы

a:=1;

b:=1;

while a+b<8 do

begin

a:=a+1; b:=b+2

end;

выполнится:

0 раз

3 раза

2 раза

1 раз

бесконечное число раз

5. Какой оператор цикла желательно использовать для записи алгоритмической конструкции, изображённой на схеме?

НЕТ СХЕМЫ. ОТВЕТИТЬ НА ВОПРОС НЕВОЗМОЖНО.

while <условие> do <оператор>

for <параметр>:= <начальное значение> to <конечное значение> do <оператор>

repeat <оператор1, …> until <условие>

6. Какой оператор цикла желательно использовать, если известно условие выхода из цикла?

repeat <оператор1, …> until <условие>

for <параметр>:= <начальное значение> to <конечное значение> do <оператор>

while <условие> do <оператор>

7. Определите, какое значение будет выведено на экран в результате выполнения приведенной ниже последовательности операторов:

a:=1; b:=1;

while a<=32 do a:=a*2; b:=b*a;  //Обратите внимание! Нет begin end.

write (b)

32

256

64

128

8. Используется оператор for i:= -5 to 9 do…

При первом выполнении тела цикла i = -5

9. Чему равно значение переменной s после выполнения следующего фрагмента программы

Фрагмента программы нет! Задание решить нельзя!

artemiusst

Я так понимаю, что а2 -это а умножить на 2, а b2 - это b умножить на 2

 

a) a*2+b*2;

b) a*b+b*c;
c) a+b -245*(a+b)*2*c;



4. Program Avgarif;

     Uses crt;

      var a,b,c,d,res:real;

      begin

           clrscr; 

           write('Введите 1 число: ');

            readln(a);

            write('Введите 2 число: ');

            readln(b);       

             write('Введите 3 число: ');

            readln(c);

            write('Введите 4 число: ');

            readln(d);

          res:=(a+b+c+d)/4;

          writeln('Среднее арифметическое:',res);

          readkey;

 

      end.   

 

 

5. Program Kvadrat;

     Uses crt;

     var a,p: real;

     begin

           clrscr; 

           write('Введите сторону квадрата а: ');

            readln(a);  

           p:=4*a;

            writeln('Периметр квадрата: ',p);       

            readkey;

    end.   

 

6.Program Prjamoug; 

     Uses crt;

     var a,b,p,s: real;

     begin

 

          clrscr;

           write('Введите 1 сторону прямоуголника: ');

            readln(a);

            write('Введите 2  сторону прямоуголника : ');

            readln(b);

 

           s:=a*b;

           p:=2*a+2*b;

 

          writeln('Периметр прямоугольника: ',p); 

 

          writeln('Площадь  прямоугольника : ',s);         

       readkey;

    end.   

 

 

 7. Program Arifm;

       Uses crt;

       var a,b,r,s,p,d: real;  

begin

           clrscr; 

           write('Введите 1 число: ');

            readln(a);

            write('Введите 2 число: ');

            readln(b);       

           p:=a*b;

           s:=a+b;

 

           d:=a/b;

           r:=a-b;

          writeln('Произведение a и b: ',p); 

          writeln('Сумма  a и b  : ',s);

         writeln('Частное a и b: ',d); 

          writeln('Разность  a и b  : ',r);     

    readkey;

   end.   

   

 

  

 

   

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вводятся 5 чисел: a, b, c, d и e. найдите все целые решения уравнения ( ax3 + bx2 + cx + d ) / ( x - e ) = 0 на отрезке [0, 1000] и выведите их количество. примеры входные данные 2 4 9 1 5 выходные данные 0
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

marvindkc
gullieta
FinKozhevnikov28
suhanowaswetlana
zdl2008
maslprod
punchf
vikanikita
vladimirkirv
Akopovich802
djevgen
MNA888
Salkinserg
predatorfishing608
Марина555