fork download
  1. #include <iostream>
  2. #include <cmath> // Cho hàm sqrt()
  3. #include <iomanip> // Cho std::fixed và std::setprecision
  4.  
  5. int main() {
  6. // Hệ số của parabol: y = ax^2 + bx + c
  7. double a_parabol, b_parabol, c_parabol;
  8. // Hệ số của đường thẳng: y = mx + d
  9. double m_line, d_line;
  10.  
  11. std::cout << "Nhap he so cua parabol (a b c): ";
  12. std::cin >> a_parabol >> b_parabol >> c_parabol;
  13.  
  14. std::cout << "Nhap he so cua duong thang (m d): ";
  15. std::cin >> m_line >> d_line;
  16.  
  17. // Bien doi ve phuong trinh bac hai: Ax^2 + Bx + C = 0
  18. // a_parabol*x^2 + b_parabol*x + c_parabol = m_line*x + d_line
  19. // a_parabol*x^2 + (b_parabol - m_line)*x + (c_parabol - d_line) = 0
  20. double A = a_parabol;
  21. double B = b_parabol - m_line;
  22. double C = c_parabol - d_line;
  23.  
  24. // Tinh Delta (biệt thức)
  25. double delta = B * B - 4 * A * C;
  26.  
  27. // Thiết lập độ chính xác cho đầu ra
  28. std::cout << std::fixed << std::setprecision(4);
  29.  
  30. if (delta > 0) {
  31. // Hai diem giao nhau
  32. double x1 = (-B + std::sqrt(delta)) / (2 * A);
  33. double x2 = (-B - std::sqrt(delta)) / (2 * A);
  34.  
  35. double y1 = m_line * x1 + d_line;
  36. double y2 = m_line * x2 + d_line;
  37.  
  38. std::cout << "Parabol va duong thang cat nhau tai 2 diem:" << std::endl;
  39. std::cout << "Diem 1: (" << x1 << ", " << y1 << ")" << std::endl;
  40. std::cout << "Diem 2: (" << x2 << ", " << y2 << ")" << std::endl;
  41. } else if (delta == 0) {
  42. // Mot diem giao nhau (tiep xuc)
  43. double x = -B / (2 * A);
  44. double y = m_line * x + d_line;
  45.  
  46. std::cout << "Parabol va duong thang tiep xuc tai 1 diem:" << std::endl;
  47. std::cout << "Diem: (" << x << ", " << y << ")" << std::endl;
  48. } else {
  49. // Khong co diem giao nhau
  50. std::cout << "Parabol va duong thang khong co diem giao nhau." << std::endl;
  51. }
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0s 5320KB
stdin
a = 2
b = 3
c = 7
m = 3
d = 9
stdout
Nhap he so cua parabol (a b c): Nhap he so cua duong thang (m d): Parabol va duong thang tiep xuc tai 1 diem:
Diem: (-inf, -nan)