По разделам



Задача Begin 39


Найти корни квадратного уравнения A·x
2 + B·x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если известно, что дискриминант уравнения положителен. Вывести вначале меньший, а затем больший из найденных корней. Корни квадратного
уравнения находятся по формуле
x1, 2 = (−B ±

D)/(2·A),
где D — дискриминант, равный B
2 − 4·A·C.

Код (C/C++)

#include <stdio.h>
#include <math.h>

int main(void)
{
    float A,B,C;
    printf("A:");
    scanf ("%f", &A);

    printf("B:");
    scanf ("%f", &B);

    printf("C:");
    scanf ("%f", &C);

    float D;
    D=pow(B,2)-4*A*C;

    float x1,x2;
    x1=((-1)*B+sqrt(D))/(2*A);
    x2=((-1)*B-sqrt(D))/(2*A);

    if (x1<x2)  printf("x1:%f\nx2:%f\n",x1,x2);
    else    printf("x2:%f\nx1:%f\n",x2,x1);

    return 0;
}

Код (Python)

import random
import math

r = list(range(-10,0)) + list(range(1,11))
A = random.choice(r)
C = random.randrange(-10,11)
B1 = math.ceil(math.sqrt(abs(4*A*C)))
#B = (random.randrange(0,2)-1)*(random.randrange(B1,B1+10))
B = random.randrange(B1,B1+10)
coef = random.choice([-1,1])
A = coef * A
B = coef * B
C = coef * C

print("Ax^2 + Bx + C = 0")
print("A = ",A)
print("B = ",B)
print("C = ",C)

D = B*B - 4*A*C
x1 = (-B - math.sqrt(D))/(2*A)
x2 = (-B + math.sqrt(D))/(2*A)
s = sorted([x1,x2])

print("D = ",D)
print(s)
print("Check x1:",A*x1*x1+B*x1+C)
print("Check x2:",A*x2*x2+B*x2+C)
									

Код (Pascal)

program Begin39;
var
  A,B,C,D,x1,x2: Real;
begin
  Write('Введите коэфициент A: ');
  Readln(A);
  Write('Введите коэфициент B: ');
  Readln(B);
  Write('Введите коэфициент C: ');
  Readln(C);
  D:=Sqr(b)-4*A*C;
  x1:=((-1)*B+sqrt(D))/(2*A);
  x2:=((-1)*B-sqrt(D))/(2*A);
  if x2<x1 then
   begin
    Writeln('Меньший корень равен : ',X2);
    Writeln('Больший корень равен : ',X1);
   end
  else
   begin
    Writeln('Меньший корень равен : ',X1);
    Writeln('Больший корень равен : ',X2);
   end;
end.
									




Begin. Абрамян
Begin 1 Просмотров: 45
Begin 2 Просмотров: 31
Begin 3 Просмотров: 30
Begin 4 Просмотров: 26
Begin 5 Просмотров: 30
Begin 6 Просмотров: 28
Begin 7 Просмотров: 28
Begin 8 Просмотров: 24
Begin 9 Просмотров: 26
Begin 10 Просмотров: 31
Begin 11 Просмотров: 39
Begin 12 Просмотров: 36
Begin 13 Просмотров: 29
Begin 14 Просмотров: 54
Begin 15 Просмотров: 28
Begin 16 Просмотров: 31
Begin 17 Просмотров: 29
Begin 18 Просмотров: 26
Begin 19 Просмотров: 34
Begin 20 Просмотров: 27
Begin 21 Просмотров: 26
Begin 22 Просмотров: 22
Begin 23 Просмотров: 15
Begin 24 Просмотров: 24
Begin 25 Просмотров: 17
Begin 26 Просмотров: 18
Begin 27 Просмотров: 23
Begin 28 Просмотров: 27
Begin 29 Просмотров: 31
Begin 30 Просмотров: 20
Begin 31 Просмотров: 25
Begin 32 Просмотров: 28
Begin 33 Просмотров: 26
Begin 34 Просмотров: 25
Begin 35 Просмотров: 27
Begin 36 Просмотров: 20
Begin 37 Просмотров: 28
Begin 38 Просмотров: 27
Begin 39 Просмотров: 25
Begin 40 Просмотров: 23

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться