Giải phương trình bậc 2 ax2 + bx + c = 0

Cách giải phương trình bậc 2 thì chúng ta đã được học ở lớp dưới rồi phải không nào ? Vậy giải phương trình bậc 2 trong C/C++ thì sẽ như thế nào ? Hôm nay chúng ta sẽ cùng tìm hiểu.

Cách giải phương trình bậc 2

Phương trình bậc 2

Phương trình bậc 2 là phương trình có dạng: ax² +bx + c = 0. [a0] [1]

Ở các lớp dưới ta đã có phương pháp giải bằng cách tính delta:

  • Đầu tiên tính delta = b² 4ac
  • Nếu delta < 0 thì kết luận vô nghiệm
  • Nếu delta = 0 thì có nghiệm kép
  • Nếu delta > 0 thì sẽ có 2 nghiệm phân biệt

Ý tưởng

  • Dùng một vòng do whileđể nhập a, b, c nếu a = 0, thì nhập lại.
  • Chúng ta dùng hàm sqrt[] trong thư viện math.h để tính căn delta hoặc tính căn không dùng hàm sqrt[]tại đây.
  • Chúng ta tạo hàm giaiPTtrả về kiểu intchính là số nghiệm của phương trình [1].
  • Chúng ta sẽ đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPTđể gán giá trị hai nghiệm.
  • Nếu pt [1] vô nghiện thì giaiPTsẽ trả về 0 , đồng thời gán x1 = x2 =0 .
  • Nếu pt [1] có nghiệm kép thì giaiPTsẽ trả về 1 , đồng thời gán x1 = x2 = -b/2a .
  • Nếu pt [1] có 2 nghiệm thì giaiPTsẽ trả về 2 , gán x1 = [-b+delta ] / 2a x = [-b-delta ] / 2a .

Code C

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include
#include
int giaiPT[float a, float b, float c,float &x1, float &x2]{
float delta = b*b - 4*a*c;
if[delta

Chủ Đề