Editorial for C bài 5.C1: Phương trình bậc 2


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

Author: buitrunghieu

Lời giải chi tiết

Ý tưởng: Yêu cầu của bài này tương đương với việc giải phương trình bậc \(ax^2-bx+c = 0\). Ta sẽ giải bài toán này như cách ta giải một phương trình bậc 2. Cụ thể:

  • Ta tính giá trị của \(\Delta\), với:

    \(\Delta = b^2 - 4ac\)
  • Ta xét 3 trường hợp của \(\delta\):

    • Với \(\Delta < 0\), phương trình vô nghiệm.
    • Với \(\Delta = 0\), phương trình có nghiệm kép \(x = \frac{b}{2a}\).
    • Với \(\Delta > 0\), phương trình có 2 nghiệm phân biệt:
      \(x_1 = \frac{b - \sqrt{\Delta}}{2a}\), \(x_2 = \frac{b + \sqrt{\Delta}}{2a}\)
  • Vì ta cần tìm giao điểm của đồ thị hàm số với trục hoành, nên \(y\) luôn bằng 0.

Các bước giải:

  • Bước 1: Khai báo và nhập vào lần lượt 3 số thực \(a, b, c\).
  • Bước 2: Khai báo biến thực delta và gán delta \(=b^2-4ac\).
  • Bước 3: Xét các trường hợp của delta:
    • Nếu delta \(< 0\) thì in ra \(0\).
    • Nếu delta \(= 0\) thì in ra \(1\), sau đó xuống dòng và in tiếp các giá trị \(\frac{b}{2a}\) và \(0.00\), cách nhau bởi 1 dấu cách.
    • Nếu delta \(> 0\) thì in ra \(2\), sau đó xuống dòng và in ra giá trị của 2 nghiệm \(x\) được nhắc đến ở trên, cùng 1 số \(0.00\) cách nghiệm \(x\) bởi 1 dấu cách, in xong nghiệm thứ nhất thì xuống dòng để in tiếp nghiệm thứ 2. In nghiệm nhỏ hơn trước, nghiệm lớn hơn sau.

Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse

SĐT liên hệ: 0372229686

Youtube: CLB Lập Trình Full House

Fullhouse dev đồng hành trên từng dòng code


Comments

There are no comments at the moment.