• Входные данные
    Шесть чисел – координаты центра и радиус окружности и коэффициенты A, B и C нормального уравнения прямой.

    Выходные данные
    В первой строке одно число K, равное количеству точек пересечения прямой с окружностью. Далее в K строках координаты самих точек.

    Примеры
    входные данные
    2 3 1 1 -1 0
    выходные данные
    2
    3.00000 3.00000
    2.00000 2.00000

Ответы 3

  • Забыл упомянуть, что на С++. Моя ошибка.
    • Автор:

      cesar711
    • 5 лет назад
    • 0
  • Перепишите, это несложно, алгоритм виден, а языки почти не отличаются
    • Автор:

      koda29
    • 5 лет назад
    • 0
  • PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018Внимание! Если программа не работает, обновите версию!

    begin

     var xc, yc, R, A, B, C: real;

     Read(xc, yc, R, A, B, C);

     var alpha := A * A + B * B;

     var beta := 2 * (xc * A * B - yc * A * A + B * C);

     var gamma := 2 * xc * A * C + Sqr(xc * A) + C * C + Sqr(yc * A) - Sqr(R * A);

     var D := Sqr(beta) - 4 * alpha * gamma;

     if D < 0 then Println(0)

     else

     if D = 0 then

     begin

       var y := -beta / (2 * alpha);

       var x := -(B * y + C) / A;

       Println(1);

       Writeln('x=', x:0:5, '   y=', y:0:5)

     end

       else

     begin

       D := Sqrt(D);

       var y := (-beta - D) / (2 * alpha);

       var x := -(B * y + C) / A;

       Println(2);

       Writeln('x=', x:0:5, '   y=', y:0:5);

       y := (-beta + D) / (2 * alpha);

       x := -(B * y + C) / A;

       Writeln('x=', x:0:5, '   y=', y:0:5)

     end

    end.

    Пример2 3 1 1 -1 02 x=2.00000   y=2.00000x=3.00000   y=3.00000
    answer img
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years