kirill_76rus

week_1

Jun 12th, 2020
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.   double A, B, C;
  8.   cin >> A >> B >> C;
  9.  
  10.   // найдём дискриминант
  11.   double D = B * B - 4 * A * C;
  12.  
  13.   // если A равно нулю, то уравнение линейное: Bx + C = 0
  14.   if (A == 0) {
  15.    
  16.     // Bx = -C => x = -C / B
  17.     if (B != 0) {
  18.       cout << -C / B << endl;
  19.     }
  20.     // если B равно нулю, корней нет
  21.    
  22.   } else if (D == 0) {  // случай с нулевым дискриминантом
  23.    
  24.     // корень ровно один
  25.     cout << -B / (2 * A) << endl;
  26.    
  27.   } else if (D > 0) {  // в случае с положительным дискриминантом корня два
  28.  
  29.     double r1 = (-B + sqrt(D)) / (2 * A);
  30.     double r2 = (-B - sqrt(D)) / (2 * A);
  31.  
  32.     cout << r1 << " " << r2 << endl;
  33.    
  34.   }
  35.   // если дискриминант отрицателен, действительных корней нет
  36.  
  37.   return 0;
  38. }
Add Comment
Please, Sign In to add comment